Autohotkey 此脚本中的什么导致我的窗口最小化?

Autohotkey 此脚本中的什么导致我的窗口最小化?,autohotkey,Autohotkey,这个简单脚本的目标是在特定程序处于焦点时检测空闲时间间隔,然后在空闲时间间隔结束时发送简单的击键。我在4台电脑上运行这个脚本,得到了意想不到的结果。一些PC在脚本运行时最小化窗口。其他电脑按预期运行。每台电脑上的脚本都是相同的 我通过右键单击脚本来调用此脚本,即,不运行已编译的exe版本。在一些客户端上,以管理员身份运行它似乎可以获得更好的结果,在一个客户端上,它没有任何区别,并且最小化了窗口 如上所述,在某些PC机上,脚本按预期工作。没有错误消息,它只是使我的窗口最小化。在我的新手看来,代码中

这个简单脚本的目标是在特定程序处于焦点时检测空闲时间间隔,然后在空闲时间间隔结束时发送简单的击键。我在4台电脑上运行这个脚本,得到了意想不到的结果。一些PC在脚本运行时最小化窗口。其他电脑按预期运行。每台电脑上的脚本都是相同的

我通过右键单击脚本来调用此脚本,即,不运行已编译的exe版本。在一些客户端上,以管理员身份运行它似乎可以获得更好的结果,在一个客户端上,它没有任何区别,并且最小化了窗口

如上所述,在某些PC机上,脚本按预期工作。没有错误消息,它只是使我的窗口最小化。在我的新手看来,代码中的任何内容都不会导致窗口最小化

#Persistent
    SetTimer, Timer_check,3000

    Timer_check:
        if WinActive("ahk_exe gta5.exe")
        {
            if (A_TimeIdlePhysical > 31301 && WinActive("ahk_exe gta5.exe")) {
                Gosub, keepActive
                ToolTip, We're currently idle TimeIdle is %A_TimeIdle% and TimeIdlePhysical is %A_TimeIdlePhysical%
                sleep 1000
                ToolTip
            }

            if (A_TimeIdle < 31301) {
                ToolTip
            }
        }
    return

keepActive: ; keep active sub.
    if WinActive("ahk_exe gta5.exe")
    {
        Send, {` down} ; Press the ` key to keep us active. It holds the key for 0.2 seconds.
        Sleep 200
        Send, {` up}
    }
return```

您正在尝试发送重音/反勾号,这是AHK`中的默认转义字符。要解决此问题,请发送其他字符或转义转义字符,如下所示:

Send, {`` down}
Sleep 200
Send, {`` up}
在没有逃逸的情况下,它只发送上下键。WinKey+down组合最小化了非最大化窗口,这可能与为什么你会看到游戏窗口偶尔最小化有关

编辑:添加了测试脚本

#Persistent
SetTimer, Timer_check, 3000

Timer_check:
If WinActive("ahk_exe gta5.exe") {
    If (A_TimeIdlePhysical > 31301 && WinActive("ahk_exe gta5.exe")) {
        Send , z
        ToolTip, We're currently idle TimeIdle is %A_TimeIdle% and TimeIdlePhysical is %A_TimeIdlePhysical%
        sleep 1000
        ToolTip
    }
    If (A_TimeIdle < 31301)
        ToolTip
}
Return

我已经做了这个改变,不幸的是,它没有解决这个问题。我还将其更改为Z键,结果相同。该电脑上的窗口最小化。请检查上述脚本是否有效。它删除子例程并发送一个z。未经我修改的修订脚本仍然会导致GTA5.exe窗口将4台PC上运行脚本的时间减少到100%。发布的版本是在第2页,共4页。很明显我遗漏了什么,但我不知道遗漏了什么。我有其他在GTA5上工作的脚本,但我想从头开始做这个,因为我没有找到被动的,而不是激活的。嗯,这很奇怪。除了Send,z之外,脚本中没有任何内容发送任何内容。您确定没有其他脚本正在运行,并且这是脚本中唯一的代码吗?绝对肯定。我不明白的是为什么我从同一个脚本中得到不同的结果。或者为什么它会最小化。我的理论是,AHK抛出了一个错误,但没有输出,而是中断了窗口;不是最小化它,而是将注意力转移到零。是否有一个秘密的调试控制台,我可以看到,如果是这样的情况?