2016-08-24 77 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