2016-08-24 76 views
0

我想知道是否有可能检查一个窗口是否有焦点在AutoIt中。我查了一下,发现不多。我曾尝试使用WinSetOnTop,但这似乎没有做任何事,所以我认为使用WinActivate,但这似乎并没有做我所需要的。检查窗口是否有焦点与AutoIt

我想这样做的原因是因为我有这个应用程序,我正在写一个恶作剧,我不想让我扮演恶作剧的同事忽略窗口,当它自动启动。我想在启动文件夹中放入一个快捷方式,并且我们有几个应用程序在启动时运行,所以我希望我的用户可以始终处于顶部或可听见地在用户的粗鲁言辞中尝试忽略应用程序。

这是可能的,如果是这样,你能帮我一把,因为我没有想法。

回答

2

无论你有什么动机,你可以试试WinWaitActive

语法:

WinWaitActive ("title" [, "text" [, timeout = 0]]) 

实施例可能是有用的,尝试一下:

Func Example() 
    ; Run Notepad 
    Run("notepad.exe") 

    ; Wait 10 seconds for the Notepad window to appear. 
    WinWaitActive("[CLASS:Notepad]", "", 10) 

    ; Wait for 2 seconds to display the Notepad window. 
    Sleep(2000) 

    ; Close the Notepad window using the classname of Notepad. 
    WinClose("[CLASS:Notepad]") 
EndFunc ;==>Example 

参考:
https://www.autoitscript.com/autoit3/docs/functions/WinWaitActive.htm