Autohotkey - 想要启动程序并将其窗口置于最前面

Autohotkey - 想要启动程序并将其窗口置于最前面

我想要一个 Autohotkey 脚本,它可以启动一个新的 Chrome 实例并将该新窗口置于最前面(活动窗口)。

我的脚本是:

#c::
Run "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -start-maximized --new-window www.google.com
WinActivate, Google ; Window title is "Google"

实际情况是这样的:如果在激活热键之前,任意窗口都处于焦点状态,浏览器实例就会在后台启动,而这并不是我想要的。但是,如果桌面或任务栏处于焦点状态,那么我的新 Chrome 窗口就会像我希望的那样出现在最前面。

答案1

最有可能的是 WInactivate 不起作用,因为您需要SetTitleMatchMode, 2在脚本顶部添加。要测试 WinActivate 是否真的有效,请使用以下命令:

SetTitleMatchMode, 2
#c::
Run "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -start-maximized --new-window www.google.com
WinWait, google ;Give Chrome a chance to start before testing
IfWinExist, google
{
    WinActivate, google ; Window title is "Google"
    MessageBox, OK
}
Return

如果您没有看到 OK 消息,则您的 Winactivate 仍在等待正确的标题。一旦您确定这有效,您可以将其缩减为:

SetTitleMatchMode, 2
#c::
Run "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -start-maximized --new-window www.google.com
WinWait, google ;Give Chrome a chance to start before testing
WinActivate, google ; Window title is "Google"
Return

相关内容