使用 AutoIt 检查 window 是否有焦点
Check if window has focus with AutoIt
我想知道是否可以检查 window 是否在 AutoIt 中有焦点。我已经检查过并没有发现太多。我尝试过使用 WinSetOnTop 但这似乎没有做任何事情所以我考虑使用 WinActivate 但这似乎没有做我需要的。
我想这样做的原因是因为我有这个应用程序作为恶作剧而写,我不希望我正在恶作剧的同事忽略 window当它自动启动时。我想在启动文件夹中添加它的快捷方式,我们有几个应用程序在启动时 运行,所以我希望我的应用程序始终位于最前面,或者在用户尝试忽略时大声粗鲁的话应用程序。
这可能吗,如果可以的话,你能帮帮我吗,因为我没有想法。
不管你的动机如何,你都可以尝试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
我想知道是否可以检查 window 是否在 AutoIt 中有焦点。我已经检查过并没有发现太多。我尝试过使用 WinSetOnTop 但这似乎没有做任何事情所以我考虑使用 WinActivate 但这似乎没有做我需要的。
我想这样做的原因是因为我有这个应用程序作为恶作剧而写,我不希望我正在恶作剧的同事忽略 window当它自动启动时。我想在启动文件夹中添加它的快捷方式,我们有几个应用程序在启动时 运行,所以我希望我的应用程序始终位于最前面,或者在用户尝试忽略时大声粗鲁的话应用程序。
这可能吗,如果可以的话,你能帮帮我吗,因为我没有想法。
不管你的动机如何,你都可以尝试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