加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows关闭/重新启动通知程序提供延迟选项,类似于自动更新

发布时间:2020-12-13 23:11:55 所属栏目:Windows 来源:网络整理
导读:我有一个使用WPKG部署的 Windows程序,该程序对用户隐藏,有时可能需要重启.为了防止用户丢失工作,我想要一个带有消息的对话框,为登录用户提供延迟关闭的选项.这类似于自动更新的方式. 我已经查看了大量的关闭实用程序,这些实用程序为用户提供了一条消息,但没
我有一个使用WPKG部署的 Windows程序,该程序对用户隐藏,有时可能需要重启.为了防止用户丢失工作,我想要一个带有消息的对话框,为登录用户提供延迟关闭的选项.这类似于自动更新的方式.

我已经查看了大量的关闭实用程序,这些实用程序为用户提供了一条消息,但没有一个可以为他们提供一些控制来延迟关闭.

一个快速而肮脏的选择是从 Microsofts Sysinternals开始在 PSTOOLS套件中使用 PSSHUTDOWN.

其中一个可用的开关是-c.它允许用户通过按“取消”按钮停止重新启动.

-c Allows the shutdown to be aborted by the interactive user.

您可以将其设置为每X分钟循环一次,直到用户准备好重新启动计算机.

一个更简洁的方法是编写自己的VBscript.这可以提供一个时髦的对话框,例如,是和否.如果他们点击否,它会在再次询问之前睡眠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 & "rootcimv2")
   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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读