2012-03-19 10 views
1

私はautohotkeyスクリプトで作業していますが、私は別のスクリプトが現在実行中であるかどうかを確認できるかどうかを知りたがっています。ahk(autohotkey)スクリプトが実行されていることを確認してください

私は、これはあなたが実行中のスクリプトを閉じるために何をすべきかであることが判明:

DetectHiddenWindows, On 
WinClose, %pathToScript% ahk_class AutoHotkey 

ので、私は、これはあなたが別のスクリプトが実行されているかどうかを確認するために何をすべきかであると思った:

DetectHiddenWindows, On 
IfWinActive, %pathToScript% ahk_class AutoHotkey 
{ 
    //code to do when script is active 
} 

これは動作しません。 私を助けることができますか?

+3

...それはあなたを助けることを願って –

答えて

3

[テストこの]

1 - このように、隠された、まだ、実行中のままにランダムなスクリプトを作成します。

F:: 
Msgbox "running..." ; to test if it's ok or already closed. 

2 - 今、あなたは何をテストするためのスクリプトを作成しますしたい。私のテストは、その名前で隠されたスクリプトを閉じることができます。

pathToScript = %A_ScriptDir%\teste.exe 

DetectHiddenWindows, On 
IfWinExist, %pathToScript% 
{ 
    WinWait, %pathToScript%, 
    IfWinNotActive, %pathToScript%, , WinActivate, %pathToScript%, 
    WinWaitActive, %pathToScript%, 

    WinClose, %pathToScript% ahk_class AutoHotkey 
    MsgBox "OK" 
} 

は答えがあまりにもこの `ifWinActive`が、` ifWinExist`を使用することができなかった

0

私はこれをしたいと思う理由はわからないが、私は私のスクリプトを持っている有益な何かが保存されたスクリプトファイルを再コンパイルして再起動し

Reload 

です。参照:Reload document information