Autohotkey - 如何在Chrome打开时限制命令

时间:2016-05-05 17:36:56

标签: google-chrome autohotkey

我有一些简单的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没有Window Title,所以我无法构建`#IfWinActive行。

有没有人知道如何为Chrome做这件事? 甚至可能是因为脚本可以检测到Firefox或Chrome处于活动状态并专注于什么?

2 个答案:

答案 0 :(得分:0)

尝试使用您的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

每个窗口标题的一部分IS" Google Chrome"最后,你应该尝试使用ahk_class Chrome_WidgetWin_1

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

答案 1 :(得分:0)

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

if (e.Row.RowType == DataControlRowType.DataRow)
    {
        TableCell cell = e.Row.Cells[6];
        string Failures = cell.Text.ToString().Trim();
        string date = e.Row.Cells[5].ToString();
        if (Failures == "0" || Failures == "NULL")
        {
            cell.BackColor = Color.Green;
        }
        else
        {
            cell.BackColor = Color.Red;
        }

    }

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

希望这有帮助