【问题标题】:How do I wait for a process OR if a certain window becomes the active one in AutoHotKey?如何等待进程或某个窗口成为 AutoHotKey 中的活动窗口?
【发布时间】:2016-06-23 19:05:07
【问题描述】:

我有一个循环等待进程存在,然后再继续。但是,我想这样做,以便如果进程存在或存在具有某些特定类的窗口,则循环将继续进行。现在我有以下内容:

Loop {
    Process, Wait, ProcessName.exe
    ; Do stuff

    Sleep, 50
}

我想明确一点,我专门使用了Process, Wait,因为我不希望循环不断运行。

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

    您可以使用"ahk_exe Process Name/Path" 代替“ProcessName.exe”来识别进程。 如果此进程没有可见窗口,请使用“DetectHiddenWindows, On”。

    这样您可以使用GroupAdd 创建一个包含进程和窗口的窗口组。 在循环中将“Process, Wait, ProcessName.exe”替换为“WinWait, ahk_group GroupName”。

    【讨论】:

    • 当我希望条件是无窗口进程存在或窗口位于最前面时,您有什么提示吗?
    • “如果窗口位于最前面”到底是什么意思?您希望脚本在窗口变为活动状态后立即执行操作 (WinWaitActive),还是在其自身被置于顶部时立即执行?
    • 我想在process.exe 运行后立即继续Loop ahk_class MyClass 是当前活动窗口WinActive("ahk_class MyClass")。因此,这两者中的任何一个都应该允许Loop 继续。它们是两个独立的程序。
    猜你喜欢
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 2012-02-25
    相关资源
    最近更新 更多