2013-05-12 339 views
1

假设我有一些Windows打开,然后我开始我的AutoIt脚本。如何在autoit v3中捕获窗口焦点事件

现在,无论何时用户点击一个窗口它都会聚焦(激活),在这里我想执行一些代码。

所以基本上我想捕捉某种windowFocusedwindowActivated事件。

  • 一种方式做到这一点会得到使用WinList(),通过他们循环所有窗口的列表,请使用哪一个是主动WinActive(),但它会是因为这个效率太低检查必须在无限循环中执行。

我想要比无限循环更好的解决方案。

回答

0

这仍然使用无限循环,我不知道如果你总是在寻找Windows,如何摆脱困境。但是你不必使用WinList()。只是一个简单的while循环:

While 1 
    If WinActive("Notepad") Then 
     ; do something  
    ElseIf WinActive("Wordpad") Then 
     ; do something else 
    EndIf 
WEnd 
+0

WinList()是必要的,因为脚本不会知道“目前”打开的窗口没有任何东西,甚至他们的头衔等 – VishalDevgire 2013-05-12 19:47:59

+0

@JonBecher:您编辑的赞赏,但你并不需要使用'
'标签并用\'\'围绕文本。您可以使用四个空格缩进所有内容,也可以选择文本并使用代码格式(CTRL + K)按钮。 – Hasturkun 2013-05-29 16:21:32