无声地运行CMD

时间:2012-09-18 13:12:16

标签: vb.net cmd silent

我正在尝试静默运行CMD,但每次出现错误。有人可以告诉我哪里出错了吗?

Dim myProcess As Process 
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden 
myProcess.StartInfo.CreateNoWindow = True 
myProcess.StartInfo.FileName = ("cmd.exe" & CmdStr) 
myProcess.Start() 

CmdStr已经是一个字符串,用于在应用程序中执行我想要的某些操作。

1 个答案:

答案 0 :(得分:9)

我想你的cmdStr是一个带有CMD参数的字符串 如果是这样,您需要使用StartInfo的Arguments属性 你在myProcess变量上得到一个Null Exception,因为它永远不会用new进行实例化。 您可以创建ProcessStartInfo var以与静态Process.Start方法一起使用,并将UseShellExecute设置为False

Dim startInfo As New ProcessStartInfo("CMD.EXE")
startInfo.WindowStyle = ProcessWindowStyle.Hidden     
startInfo.CreateNoWindow = True 
startInfo.UseShellExecute = False
startInfo.Arguments = CmdStr
Process.Start(startInfo)  

或编辑您的代码以添加

myProcess = new Process() 

使用var myProcess

之前