是/否关闭

1 vbscript

我正在玩VBScript,我想制作一个MsgBox,询问用户是否要关闭计算机。

如果用户单击,Yes他们应该首先看到一个MsgBox,然后他们的计算机开始关闭。

我正在使用此代码,但不起作用。

问题是什么?

result = MsgBox ("Shutdown?", vbYesNo, "Yes/No Exm")
Select Case result
    Case vbYes
        MsgBox("shuting down ...")
        Option Explicit
        Dim objShell
        Set objShell = WScript.CreateObject("WScript.Shell")
        objShell.Run "C:\WINDOWS\system32\shutdown.exe -r -t 0"
    Case vbNo
        MsgBox("Ok")
End Select
Run Code Online (Sandbox Code Playgroud)

Sud*_*hir 5

我已经按照以下内容修改了您的代码:

Option Explicit

Dim result
result = MsgBox ("Shutdown?", vbYesNo, "Yes/No Exm")
Select Case result
    Case vbYes
        MsgBox("shuting down ...")
        Dim objShell
        Set objShell = WScript.CreateObject("WScript.Shell")
        objShell.Run "C:\WINDOWS\system32\shutdown.exe -r -t 20"
    Case vbNo
        MsgBox("Ok")
End Select
Run Code Online (Sandbox Code Playgroud)

主要问题是“显式选项”必须位于顶部,因此必须使用“ dim”关键字声明“结果”变量。当我通过命令行执行上述代码时,它可以正常工作。

我还添加了20的超时,但是您可以轻松地将其更改回原始值0。