AutoHotkey的。如何在每次某个窗口处于活动状态时触发脚本?

时间:2014-04-01 12:46:30

标签: triggers autohotkey

好人!我在这里遇到一个问题。 我有以下脚本:

#If WinActive("ahk_class Chrome_WidgetWin_0") || WinActive("ahk_class Chrome_WidgetWin_1") || WinActive("ahk_class MozillaWindowClass") || WinActive("ahk_class IEFrame")
 WinWaitActive, my_window_name_here - Opera, , 2
 Sleep 1000
 #NoEnv
 SendMode Input
 SetWorkingDir, %A_ScriptDir%
 #SingleInstance force
 Send some-text
 Send {TAB}
 Send some-text
 Send {TAB}
 Send some-text
 return

当浏览器中的某个窗口处于活动状态时触发。问题是,它只做一次。但我需要它来触发每个窗口/选项卡激活的时间。这有可能吗?

1 个答案:

答案 0 :(得分:2)

快速的Google搜索显示http://www.autohotkey.com/board/topic/85660-run-scripts-when-window-opensbecomes-active/。它的本质是:

  

你必须连续循环检查:

     

无法>运行<程序打开/处于活动状态时的脚本。   原因是“没有人回家”可以说'醒来'。

     

相反,您可以拥有一直运行的脚本,其中一个功能是监视目标窗口,然后调用子程序“做任何事情”。

在线程中进一步链接的“WinTrigger”脚本使用#PersistentSetTimer,它基本上是相同的方法但更整洁。