teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

誤字を修正

2019/05/02 05:36

投稿

atata0319
atata0319

スコア881

answer CHANGED
@@ -1,7 +1,7 @@
1
- かなり強引なやり方になりますが、AttachThreadInput で同期化した後、BringWindowToTop で最前面にもって来た後、該当ウィンドウをクリックするのが安定ようです。
1
+ かなり強引なやり方になりますが、AttachThreadInput でスレッドの入力キューを同期化しBringWindowToTop で最前面にもって来た後、該当ウィンドウをクリックするのが安定して実行できるようです。
2
2
  [ウィンドウを確実にアクティブにする方法 (http://stakiran.hatenablog.com/entry/2017/09/15/213415)](http://stakiran.hatenablog.com/entry/2017/09/15/213415)
3
3
 
4
- 添付サイトは独自モジュールを使用しているようので、win32gui のみで書き換えてみました。本来は SendInput を使用するべきですが、win32gui に定義がないのでmouse_event を使っています。マウス移動は SetCursorPos で代用しています。元サイトとは異なりエラー処理は省いています。
4
+ リンク先のサイトは独自モジュールを使用しているようですので、win32gui のみで書き換えてみました。本来は SendInput を使用するべきですが、win32gui に定義がないので mouse_event を使っています。マウス移動は SetCursorPos で代用しています。元サイトとは異なりエラー処理は省いています。
5
5
  ```python
6
6
  import subprocess
7
7
  import time
@@ -50,7 +50,7 @@
50
50
  main()
51
51
  ```
52
52
 
53
- 他のやり方としては該当ウィンドウが最前面に来るまで Alt+Shift+Tab を連打するってのも方法しては考えられます。こ SendInput の代わり keyboard_event を使用しています。
53
+ 他のやり方としては該当ウィンドウが最前面に来るまで Alt+Shift+Tab を連打するという手法も考えられます。こちらでは SendInput の代わりとして keyboard_event を使用しています。
54
54
  ```python
55
55
  import subprocess
56
56
  import time