下面列出一种方法,来自论坛搜索。但这种方法其实没太大用处,因为这个只是系统关机前对有窗口的应用程序的一个通知,等待应用程序返回未就绪的标志,然后不关机。以防止如word未保存文件强制关机引起的内容丢失。
并且当AU3收到这个消息时,绝大多数其它程序已经被结束了。所以,有没有更好的办法来在第一时间拦截关机呢(其它程序也不会被结束)?$WM_QUERYENDSESSION = 0x0011
GUIRegisterMsg($WM_QUERYENDSESSION, "Cancel")
GUICreate("")
GUISetSTate(@SW_HIDE)
Global $Esc = 0
While 1
If $Esc = 1 then
MsgBox (0, "", "想干什么!按确定后继续截获")
$Esc = 0
EndIf
sleep(10)
WEnd
Func Cancel($hWndGUI, $MsgID, $WParam, $LParam)
$Esc = 1
Return False
EndFunc
|