【问题标题】:Autohotkey - How to restrict commands to when Chrome openAutohotkey - 如何将命令限制在 Chrome 打开时
【发布时间】:2016-05-14 10:59:09
【问题描述】:

我有一些简单的 ahk 代码,在我使用 Firefox 时效果很好,但我无法为 Chrome 构建等效代码。这个想法是代码的功能部分应该只在 Chrome 打开和活动(聚焦)窗口时“应用”。

以下是适用于 Firefox 的方法:

;MUST BE LAST PART OF SCRIPT!!
SetTitleMatchMode, 2
`#IfWinActive,  - Mozilla Firefox
;Above "- Mozilla Firefox" substring appears in all Firefox windows
{code to be applicable goes here}
`#ifwinactive

问题是 Chrome 没有窗口标题,所以我无法构造 `#IfWinActive 行。

有没有人知道如何为 Chrome 做到这一点? 甚至可能这样脚本就可以检测到 Firefox 或 Chrome 处于活动状态和专注状态?

【问题讨论】:

    标签: google-chrome autohotkey


    【解决方案1】:

    尝试使用您的 AHK Windows Spy。你会发现以下类数据:

    Autohotkey - How to restrict commands to when Chrome open - Stack Overflow - Google Chrome
    ahk_class Chrome_WidgetWin_1
    ahk_exe chrome.exe
    

    每个窗口标题的一部分最后都是“Google Chrome”,但你应该尝试使用 ahk_class Chrome_WidgetWin_1

    请记住,#IfWinActive 仅适用于热键之类的东西。您不能只是将代码放在那里并期望代码在您激活 Chrome 后立即运行。如果这是您想要的,您将不得不使用检查循环或 OnMessage。

    【讨论】:

    • 谢谢!我不确定如何使用您提供的代码。 ahk_class Chrome_WidgetWin_1 ahk_exe chrome.exe {code to be applicable going here} 我会用它来代替我之前写的吗?是的,我将它用于键,而不是期望它“在开始时运行”。它适用于Firefox。您对如何构建它有任何建议,以便在 Firefox 或 chrome 打开时“运行”......所以我不必根据正在使用的浏览器运行两个单独的脚本?而且我不理解这个 COMMENT 业务——破坏换行符。
    【解决方案2】:

    jcarerra,如果您想使用相同的热键,在两个或多个不同的应用程序中执行相同的任务,您可以按以下方式对应用程序进行分组:

    GroupAdd MyBrowsers, ahk_class MozillaWindowClass
    GroupAdd MyBrowsers, ahk_class Chrome_WidgetWin_1
    #IfWinActive ahk_group MyBrowsers
        Your Hotkey code here.....
    #IfWinActive
    

    在这个例子中,我使用了来自 Chrome 和 FireFox 的应用程序类 ID,并将它们组合到一个名为 MyBrowsers 的组中。然后在#IfWinActive 函数中,引用组名 MyBrowsers。

    希望对你有帮助

    【讨论】:

    • jcarerra,第二个答案有帮助吗?
    猜你喜欢
    • 2012-12-30
    • 2013-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    • 2018-04-17
    • 1970-01-01
    相关资源
    最近更新 更多