我写了一个小桌面实用程序,它可以自动检测包含防病毒模式和软件包更新的USB Stick。它可以在检测或系统关闭/重启时执行这些更新,这就出现了问题...我无法让挂起的关机正常工作..如果我使用此代码,我的应用程序成功阻止了Windows关闭,但不会执行更新过程。
' >>>>Process Windows Shutdown<<<<
If m.Msg = WM_QUERYENDSESSION OrElse m.Msg = WM_ENDSESSION Then
ShutdownBlockReasonCreate(Me.Handle, "Performing #### and Kasperksy Updates...")
UnZipKit()
ShutdownBlockReasonDestroy(Me.Handle)
Return
End If
我已经发现我需要在某处返回FALSE,但我无法弄清楚如何。可在此处找到Microsoft声明:https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms700677(v=vs.85)
至于附加信息,如果我不包括RETURN窗口关闭不会被延迟,所以永远...
另一种方法是编写关闭脚本。像这里描述的https://docs.microsoft.com/en-us/previous-versions/technet-magazine/dd630947(v=msdn.10)
一个vbs脚本几乎可以做任何与vb net类似的事情 -