0

リモートWindowsホストでGUIアプリケーションを実行し、マウスとキーボードでいくつかの操作を行う必要があります。これは、GUIアプリケーションを開かずにローカルPCから実行する必要があります(例えば、 "リモートデスクトップ接続")。リモートウィンドウサーバーのコントロールマウス

私は必要なすべてのアクション(ローカルPCでテスト済み)を実行するリモートサーバー上にpythonスクリプトを持っており、psexec経由でスクリプトを実行して、サーバー上のGUIアプリケーションを正常に開きます。

問題は、pythonがプログラムでマウスを移動してクリックしようとすると、画面が存在しないため例外がスローされることです。

キーボードによる操作(Ctrl-A、Ctrl-C、Ctrl-V)は正常に実行できます。

ここでは、マウスのクリックをシミュレートするために使用するコードを示しますが、実際の画面がないため、サーバーでは機能しません。

win32api.SetCursorPos((x,y)) 
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0) 
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0) 

誰も私に解決策を提案できますか?

+0

あなたが解決するように依頼した課題を解決するためにこれまでに何を試しましたか? – Torxed

+0

@Torxed私はあなたに私のために何かを解決するように求めていません、私は提案を求めます。私はプログラムでマウスのクリックをシミュレートするためにwin32apiを試してみましたが、画面がないので言及したように動作しませんでした。 win32api.SetCursorPos((X、Y)) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN、X、Y、0,0)はるかに良好だ win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP、X、Y、0,0) –

+0

。基本的に意見に基づいて解決策を提案するか、コーディングを依頼する解決策を提案する前に - 両方ともここでは許可されていません(FAQを読んでください)。あなたの質問。 – Torxed

答えて

0

ctypesを通じてuser32.dllに直接接続し、そこからマウス制御機能を使用してみてください。おそらくwin32typesの問題は、主に静的にMS APIにリンクされているということです。したがって、デスクトップ環境用にプログラミングされています。

また、pymouseモジュールを試してみることもできますが、pypi.python.orgで見つけることができます。

関連する問題