2016-04-29 14 views
0

メインウィンドウを2つの部分に分割するウィンドウ枠をドラッグする必要があります。 私はこの試みた:ウィンドウ要素をドラッグする方法

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' 

は、私はそれが間違ってインポートしましたか? マウスでオブジェクトをドラッグする例がありますか?

レオニード

+0

さらに、実行する必要があることを説明できますか?私が理解しているところから、最初の例がうまくいくからです。これは*カーソルを位置に設定する* - > *左下にマウスを移動する* ---> *新しい位置を設定する* ---> *左上にマウスを移動* – harristyle

+0

@harristyle:ドラッグ操作は、通常、マウス**移動**メッセージ。したがって、素朴な実装は機能しません。いずれにしても、これを行う正しい方法は通常[UI Automation](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

関連する問題