Pythonの自動化ツールで作業しています。アプリ実行中のプールがある想像Pywinauto:ウィンドウをフォアグラウンドにできません
:
# Init App object
app = application.Application()
# Select random app from the pull of apps
random_app = random.choice(APPS_POOL)
app.connect(title_re=".*%s" % random_app)
print 'Select "%s"' % random_app
# Access app's window object
app_dialog = app.window_(title_re=".*%s.*" % random_app)
if app_dialog.Exists():
app_dialog.SetFocus()
それが動作する最初の時間を:スクリプトはループ(毎秒)で実行され、それらの間でランダムに切り替える必要がある
APPS_POOL = ['Chrome', 'SomeApp', 'Foo']
罰金だが、他のすべて - 窓は前景に持ち込まれないだろう。何か案は?
EDIT:スクリプトはWin7 CMDから実行されます。それは、システムがフォーカスを何らかの形で設定することをCMDがブロックすることは可能ですか?一度フォーカスが他のウィンドウに設定されたら?
うまく行った@vitswd、それは動作します! 'Focus()'が実際に盗まれているように見えます。また、 'try..except'を使って良いイニシアチブです。 – Oleg
ちょっと不思議なことに、このエラー(コンソール、デバッグしようとしました)はどうでしたか? – Oleg
私はあなたのコードをIPythonで演奏しましたが、SetFocusが失敗したときに上記のエラーが発生しました – vitswd