Pyautoguiを使用して、ウィンドウへのハンドルを取得して、クリックがそのウィンドウでのみ実行されるようにする方法はありますか?つまり、ウィンドウにフォーカスがない場合、クリックは行われません。さらに、ウィンドウにフォーカスがない場合は、ウィンドウをフォーカスしてからアクションを実行します。
ウィンドウを識別する方法は、ID、ウィンドウタイトルなど、これに似たものにすることができます https://autohotkey.com/docs/commands/WinGet.htm
この種の機能をサポートする他のPythonモジュールはありますか?
この種の機能をサポートする他のPythonモジュールはありますか?
https://pywinauto.readthedocs.io/en/latest/#some-similar-tools-for-comparison
PyAutoGui自体は、そのドキュメントの FAQセクション で、
Q:PyAutoGUIはウィンドウがどこにあるのか、どのウィンドウが表示されているのかを理解できますか?ウィンドウを集中、最大化、最小化できますか?ウィンドウのタイトルを読み取れますか?
A:残念ながらできませんが、これらはPyAutoGUIで計画されている次の機能です。この機能はPyGetWindowという名前のPythonパッケージに実装されています。これは、完了するとPyAutoGUIに含まれます。
PyGetWindow's repo に進むと、まだコードはありませんが、次のポインタを持つ random_notes.txt ファイルがあります。
Windowsでのウィンドウタイトルの検索:
http://stackoverflow.com/questions/37501191/how-to-get-windows-window-names-with-ctypes-in-python
興味深い情報があります。 (私はまだ試していません。)
このコードは、最小化または最大化するウィンドウを取得するのに役立ちます。例:Chrome「Stack Overflow」というタイトルのウィンドウを取得したい場合、
pyautogui.getWindow("Stack Overflow").minimize()
または、「音楽」というタイトルのファイルエクスプローラウィンドウを最小化または最大化する場合も、同じことが当てはまります。
pyautogui.getWindow("music").maximize()