问:在AutoIt中,如何检查Windows桌面是否已锁定
我们来看看这个AutoIt脚本示例。它以无限循环的方式ping URL,并在托盘提示中报告响应时间。
While 1
$responsetime = Ping("www.google.com")
TrayTip("", $responsetime, 1)
sleep(5000)
Wend
如果桌面未已锁定,则新脚本应仅ping。但我还没有找到一种可靠的方法来检查这个
While 1
$isLocked = secretFunctionIdontKnow
If $isLocked = false Then
Local $responsetime = Ping("www.google.com")
TrayTip("", $responsetime, 1)
EndIf
sleep(5000)
Wend
提示:函数WinExist("A")
似乎不够可靠,因为没有任何打开窗口的桌面即使解锁也会报告0(= false)
答案 0 :(得分:3)
根据我上面的评论,您可以使用以下secretFunctionIdontKnow
; - )
Func secretFunctionIdontKnow()
$classes = StringSplit(WinGetClassList("[ACTIVE]"), @LF, 2)
Return $classes[0] == "TaskSwitcherWnd"
EndFunc
幸运的是,程序切换器的返回值没有TaskSwitcherWnd
,因此在Windows 7 Enterprise SP1 64位下这似乎对我有用...
不要错过函数调用中的括号; - )