2016-04-29 73 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:拖動操作通常以響應鼠標的方式實現**移動**消息。因此,天真的實現不能工作。無論如何,正確的解決方法通常是[UI自動化](https://msdn.microsoft.com/en-us/library/windows/desktop/ee684009.aspx)。 – IInspectable

+0

錯誤地使用'pywinauto'中的'DragMouse'。看看[正確的例子](https://gist.github.com/vasily-v-ryabov/f6c6f4d94fe313be8236)。 –

回答

-1

我的道歉。 第一個例子工作。 我必須錯過窗口中間酒吧的初始座標。 具體 我想在開始使用它的元素之前重新定位整個應用程序窗口。 很容易重新定位窗口本身,但它也有中間欄,可以上下拖動。在開始處理之前,此欄必須位於特定位置。 問題解決了。 ;-) Leonid