首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分别在"X“窗口处于活动/非活动状态时运行/暂停脚本

分别在"X“窗口处于活动/非活动状态时运行/暂停脚本
EN

Stack Overflow用户
提问于 2019-12-20 05:36:17
回答 1查看 169关注 0票数 0

一个简单的代码,我用来切换一些东西。我目前正在尝试让这个脚本在像Fallout4这样的游戏上只在它存在的情况下工作。当它在该窗口上失去焦点时自动暂停。

代码语言:javascript
复制
*RButton::
*Control::
*Shift::

while (GetKeyState("Ctrl", "T") ^ GetKeyState("Shift", "T"))
{
    while (GetKeyState("RButton", "P"))
    {
        ;Some Action
    }
        ;Some Action
        return  
}
return

*F8::Suspend
*F9::Exitapp

SetTitleMatchMode, 2
#IfWinActive SomeApplication.exe
     ;Run This Script
#IfWinNotActive SomeApplication.exe
     ;Suspend+Pause This Script

return

Exit: 
    ExitApp 
Return

我很难让这个部分在Fallout4上工作,它根本检测不到它,但在记事本上工作得很好,但我必须在#IfWinActive之后手动执行这个部分

代码语言:javascript
复制
 SetTitleMatchMode, 2
 #IfWinActive ahk_exe Fallout4.exe
         ;Run THIS Script
 #IfWinNotActive ahk_exe Fallout4.exe
         ;Suspend+Pause This Script
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-20 06:18:10

在这种情况下,您只需使用#IfWinActive指令使热键与上下文相关,也就是说,只有在定义的窗口处于活动状态时才能使用它们:

代码语言:javascript
复制
#IfWinActive ahk_exe Fallout4.exe

    *RButton::
    *Control::
    *Shift::

    while (GetKeyState("Ctrl", "T") ^ GetKeyState("Shift", "T"))
    {
        while (GetKeyState("RButton", "P"))
        {
            ;Some Action
        }
            ;Some Action
            return  
    }
    return

    *F8::Suspend
    *F9::Exitapp

#IfWinActive ; turn off context sensitivity

https://www.autohotkey.com/docs/commands/_IfWinActive.htm

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59417159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档