2016-06-23 6 views
0

私はプロセスが存在するのを待ってから続行します。しかし、プロセスが存在する場合や、ある種のクラスを持つウィンドウが存在する場合にループが進行するようにしたい。今私は、次のしている:プロセスを待つ方法、または特定のウィンドウがAutoHotKeyのアクティブなウィンドウになる場合はどうすればよいですか?

Loop { 
    Process, Wait, ProcessName.exe 
    ; Do stuff 

    Sleep, 50 
} 

を私はループが常に実行したくなかったので、私は特にProcess, Waitを使用したことを明らかにしたいです。

答えて

1

"ProcessName.exe"ではなく、"ahk_exe Process Name/Path"を使用してプロセスを識別できます。 このプロセスのウィンドウが表示されていない場合は、「DetectHiddenWindows、On」を使用してください。

このようにして、プロセスとウィンドウの両方を含むGroupAddのウィンドウグループを作成できます。 "Process、Wait、ProcessName.exe"をループ内の "WinWait、ahk_groupGroupName"に置き換えます。

+0

ウィンドウのないプロセスが存在する場合、またはウィンドウがすべてのほとんどの前面にある場合に条件を設定する場合のヒントはありますか? – user400424

+0

「窓がすべてのものの最前線にあるならば」とまったく同じ意味ですか?ウィンドウがアクティブになった直後(WinWaitActive)、またはそれが一番上に来るとすぐにスクリプトが処理するようにしますか? – user3419297

+0

'process.exe'が実行されるとすぐに' Loop'を進めたい**または** 'ahk_class MyClass'は現在のアクティブウィンドウ' WinActive( "ahk_class MyClass") 'です。したがって、これらの2つのうちのどちらかが、「ループ」を続行できるようにする必要があります。彼らは2つの別々のプログラムです。 – user400424

関連する問題