我正在尝试静默运行CMD,但每次出现错误。有人可以告诉我哪里出错了吗?
Dim myProcess As Process
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
myProcess.StartInfo.CreateNoWindow = True
myProcess.StartInfo.FileName = ("cmd.exe" & CmdStr)
myProcess.Start()
CmdStr已经是一个字符串,用于在应用程序中执行我想要的某些操作。
答案 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
之前