运行程序停用窗口

时间:2019-01-26 09:29:07

标签: autohotkey

我有一个简单的AHK脚本,可以在默认浏览器(Firefox)中打开网站。

NumPad7::
    Run, www.bbc.com 
return

当我在Firefox之外运行该程序时,它会按预期在新选项卡中打开网站。但是,当我使用Firefox并运行脚本时,尽管该网站确实已打开,但Firefox仍被禁用。如果我使用热键几次,即使在Firefox打开时也可以使用。我已经尝试在命令后使用WinActivate,但是它不起作用。

您知道如何使Firefox保持活动状态吗?

2 个答案:

答案 0 :(得分:1)

尝试通过以下方式找出哪个窗口处于活动状态:

NumPad7::
    Run, www.bbc.com 
    Sleep 500 ; or more
    WinGetTitle, WinTitle, A
    WinGetClass, ActiveClass, A
    MsgBox, Active Window:`n"%WinTitle%"`nahk_class "%ActiveClass%"
return

这应该可行:

NumPad7::
    Run, www.bbc.com 
    WinWait, BBC - Homepage - Mozilla Firefox
    WinActivate, BBC - Homepage - Mozilla Firefox
return

答案 1 :(得分:1)

尝试一下:

OpenWithFirefox("www.bbc.com")

OpenWithFirefox(Url) {
    Run, firefox.exe "%Url%"
    WinWait, ahk_exe firefox.exe
    WinActivate, ahk_exe firefox.exe

    ; Excluding the hyphen is a guess at knowing
    ; if the tab has started loading before continuing:
    WinWait, ahk_exe firefox.exe, , , -
}