Wpf 从vb.net运行cmd命令问题
我正在尝试在单击事件中运行以下代码。但是,因为它在cmdshell中执行命令,我不知道为什么它不会运行。我能做的是以管理员身份打开cmd.exe,对参数进行注释。以及将这些参数粘贴到.bat文件中,然后从process.start运行 但是,为什么我不能用参数运行shell?我更喜欢这种方法,而不是将参数放在.bat文件中Wpf 从vb.net运行cmd命令问题,wpf,vb.net,shell,cmd,processstartinfo,Wpf,Vb.net,Shell,Cmd,Processstartinfo,我正在尝试在单击事件中运行以下代码。但是,因为它在cmdshell中执行命令,我不知道为什么它不会运行。我能做的是以管理员身份打开cmd.exe,对参数进行注释。以及将这些参数粘贴到.bat文件中,然后从process.start运行 但是,为什么我不能用参数运行shell?我更喜欢这种方法,而不是将参数放在.bat文件中 Dim process As New System.Diagnostics.Process() Dim startInfo As New System
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()
我明白了。我必须将bcdedit.exe复制到我的项目中。我原以为调用cmd.exe会转到bcdedit.exe所在的位置。尝试使用
cmd.exe
的完整文件路径。所以startInfo.FileName=“cmd.exe/C bcdedit/set{current}safeboot network”?尝试更改/K中的/C,查看bin
目录中是否有任何错误消息iscmd.exe
?您是否收到任何错误消息?@Steve/K工作,但它从C:\Windows\SysWOW64\cmd.exe打开了cmd.exe。它提到bcdedit不是一个重新确认的命令。嗯,为什么它不在%windir%\system32\cmd.exe中打开cmd.exe程序呢?