1

我正在尝试在单击事件中运行以下代码。但是因为它在 cmd shell 中执行命令,所以我不知道为什么它不会运行。我能做的是通过注释掉参数以管理员身份打开 cmd.exe。以及将这些参数粘贴在 .bat 文件中,然后从 process.start 运行。

但是,为什么我不能使用参数运行 shell?与将参数放在 .bat 文件中相比,我更喜欢这种方法。

    Dim process As New System.Diagnostics.Process()
        Dim startInfo As New System.Diagnostics.ProcessStartInfo()
        ' startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden

        startInfo.FileName = "cmd.exe"
        If System.Environment.OSVersion.Version.Major >= 6 Then ' Windows Vista or higher
            startInfo.Verb = "runas"
        Else
            ' No need to prompt to run as admin
        End If
        startInfo.Arguments = "/C bcdedit /set {current} safeboot network"
        process.StartInfo = startInfo
        process.Start()
4

1 回答 1

0

弄清楚了。我不得不将 bcdedit.exe 复制到我的项目中。我原以为调用 cmd.exe 会转到 bcdedit.exe 所在的位置。

于 2013-07-31T15:18:55.283 回答