2016-04-29 7 views
0

Мне нужно перетащить границу окна, которая делит главное окно на две части. Я попытался это:как перетащить элементы окна

import win32api 
import win32con 
win32api.SetCursorPos((700,1200)) 
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,700,1200,0,0) 
win32api.SetCursorPos((700,960)) 
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,700,960,0,0) 

и я также попытался это:

import pywinauto 
pywinauto.controls.HwndWrapper.DragMouse(button='left', pressed='', press_coords=(700,1200), release_coords=(700,960)) 

Первый пример не работает. Это просто ничего не делает. Второй дает ошибку:

AttributeError: 'module' object has no attribute 'DragMouse' 

ли я импортировал это неправильно? Может ли кто-нибудь привести примеры перетаскивания объектов мышью?

Leonid

+0

Не могли бы вы объяснить, что именно вам нужно сделать? потому что из того, что я понимаю, ваш первый пример должен работать. который * устанавливает курсор в положение * -> * левая мышь вниз * ---> * устанавливает новую позицию * ---> * левая мышь вверх * – harristyle

+0

@harristyle: операции перетаскивания обычно выполняются таким образом, который реагирует на мышь ** переместить ** сообщения. Таким образом, наивная реализация не может быть выполнена. Во всяком случае, правильный путь для этого - обычно [Автоматизация пользовательского интерфейса] (https://msdn.microsoft.com/en-us/library/windows/desktop/ee684009.aspx). – IInspectable

+0

Вы неправильно используете 'DragMouse' из' pywinauto'. Взгляните на [правильный пример] (https://gist.github.com/vasily-v-ryabov/f6c6f4d94fe313be8236). –

ответ

-1

Мои извинения. Первый пример работает. Мне нужно упустить исходные координаты панели в середине окна. В частности Я хотел бы переместить все окно приложения перед началом использования его элементов. Легко изменить положение окна, но оно также имеет средний бар, который можно перетащить вверх и вниз. Перед началом обработки этот бар должен находиться в определенном положении. Проблема решена. ;-) Leonid

Смежные вопросы