从vb.net问题运行cmd命令

时间:2013-07-31 14:32:00

标签: wpf vb.net shell cmd processstartinfo

我正在尝试在单击事件中运行以下代码。但是因为它在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()

1 个答案:

答案 0 :(得分:0)

想出来。我不得不将bcdedit.exe复制到我的项目中。我以为调用cmd.exe会转到bcdedit.exe所在的位置。