暂停Windows关机,直到应用程序完成工作VB.Net

时间:2019-04-15 09:24:31

标签: windows vb.net delay shutdown

我写了一个小的桌面实用程序,该实用程序会自动检测USB记忆棒,其中包含防病毒模式和软件包的更新。它既可以在检测时执行更新,也可以在系统关闭/重新启动时执行更新,这就是问题所在…… 我无法使暂停的关机正常工作。 如果我使用此代码,则我的应用程序成功阻止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,那么Windows关机将不会被延迟...

1 个答案:

答案 0 :(得分:0)

另一种方法是编写关闭脚本。 就像这里描述的https://docs.microsoft.com/en-us/previous-versions/technet-magazine/dd630947(v=msdn.10)

vbs脚本几乎可以做与vb net类似的任何事情-