首页 > 解决方案 > 暂停 Windows 关机,直到应用程序完成它的工作 VB.Net

问题描述

我编写了一个小型桌面实用程序,它会自动检测包含防病毒模式和软件包更新的 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 关闭将不会被延迟...

标签: windowsvb.netdelayshutdown

解决方案


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

vbs 脚本几乎可以做任何类似于 vb net-


推荐阅读