检查ahk(autohotkey)脚本是否正在运行

问题描述 投票:0回答:3

我正在开发一个自动热键脚本,我想知道您是否可以检查另一个脚本当前是否正在运行。

我发现这是关闭正在运行的脚本所必须执行的操作:

DetectHiddenWindows, On
WinClose, %pathToScript% ahk_class AutoHotkey

所以我认为这是你必须做的来检查另一个脚本是否正在运行:

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

但这不起作用。 你能帮我吗?

windows-7 autohotkey
3个回答
4
投票

[测试一下]

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

重新编译并重新启动保存的脚本文件。参见:重新加载文档信息


0
投票
SetTitleMatchMode, 2
DetectHiddenWindows, On

UH_你自己: 如果 WinExist("1UH_Yourself.ahk") { 菜单,Cular_Menu,颜色,800000 处理,关闭,1UH_Yourself.ahk } 别的 { 运行,C:\Users abri\OneDrive\Desktop\Macros\Macros Cura UH_Yourself.ahk 菜单,Cular_Menu,颜色,008000 } 返回

如何让脚本识别ahk?

© www.soinside.com 2019 - 2024. All rights reserved.