我使用 WPKG 部署了一个 Windows 程序,该程序对用户隐藏运行,有时可能需要重新启动。为了防止用户丢失工作,我想要一个带有消息的对话框,让登录用户可以选择延迟关机一段时间。这与自动更新的方式类似。
我查看过许多可以向用户发送消息的关机实用程序,但没有一个可以给予用户一点控制权来延迟关机。
答案1
可用的开关之一是-c
。它允许用户通过按下Cancel按钮来停止重启。
-c 允许交互式用户中止关机。
您可以将其设置为每 X 分钟循环一次,直到用户准备重新启动机器。
A更整洁实现此目的的方法是编写自己的 VBscript。这可以提供一个漂亮的对话框,例如,Yes和No。如果他们单击“否”,它将休眠 X 分钟,然后再询问。这将非常容易编写。
编辑:好吧,我很无聊,所以我为你写了这个脚本。尽情享受吧。
option explicit
on error resume next
Dim strComputer, intRebootChoice
Dim objWMIService, objOperatingSystem
Dim colOperatingSystems
strComputer = "."
do while 1>0
intRebootChoice = msgbox("OI, you, need to reboot. Choose No to be asked again 1 hour",308,"Reboot incoming")
select case intRebootChoice
case 6
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Shutdown)}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Reboot(1)
Next
case 7
wscript.sleep(3600000)
case else
'shenanigans'
end select
loop
答案2
C:\WINDOWS\system32\shutdown.exe 实用程序似乎可以帮我完成这个工作。]
请尝试以下操作: shutdown -r -t 500 -c “快乐的用户消息”
编辑:自动更新重启消息更像是带有超时和重启按钮的烦人屏幕。很容易复制此代码,尽管您可能需要在 stackoverflow 上提问 :)