2017-09-05 25 views
2

WinActivateを使用しているときに、時にはアクティブ化に失敗する厄介なアプリケーションがあります。これは通常、開いているダイアログプロンプトまたはポップアップウィンドウがある場合に発生します。WinActivateが成功したかどうかを確認するにはどうすればよいですか?

誤った入力エラーを防ぐために、ウィンドウがアクティブ化されているかどうかを確認したいと思います。理想的には、私はWinActivateが失敗した場合、次の擬似コードのように、エラーをスローしたいと思います:

If !WinActivate, Calculator ; pseudo code 
    MsgBox 'Calculator' not found. Stopping script... 
    Exit, 1 
} 

私の知る限りWinActiveを伝えることができるように私が直接かどうかをチェックすることができませんを意味し、任意の値を返しません。それが成功しました

WinActivateが成功したかどうかを確認するにはどうすればよいですか?

答えて

3

これは、ウィンドウをアクティブにしようと、それは2秒以内に成功していない場合は文句を言い

WinActivate windowTitle 
WinWaitActive windowTitle, , 2 
if ErrorLevel 
{ 
    MsgBox 'windowTitle' not found. Stopping script... 
    Exit 1 
} 

一般的な機能に包まれ同じコード

F2::activate("Untitled - Notepad") 

activate(title) 
{ 
    WinActivate %title% 
    WinWaitActive %title%, , 2 
    if ErrorLevel 
    { 
    MsgBox '%title%' not found. Stopping script... 
    Exit 1 
    } 
} 
関連する問題