2012-03-19 149 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

答案太,这是不使用'ifWinActive'但'ifWinExist' – 2012-03-19 15:39:53

回答

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" 
} 

希望它可以帮助你......

0

我不知道你为什么会想这样做,但有用的我有我的剧本的东西是

Reload 

其重新编译和重新保存脚本文件。见:Reload document information