我正在尝试以静默方式运行 CMD,但每次都出现错误。有人可以告诉我哪里出错了吗?
Dim myProcess As Process
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
myProcess.StartInfo.CreateNoWindow = True
myProcess.StartInfo.FileName = ("cmd.exe" & CmdStr)
myProcess.Start()
CmdStr 已经是一个字符串,可以在应用程序中执行我想要执行的某些操作。
最佳答案
我想你的 cmdStr 是一个带有 CMD 参数的字符串。
如果是这样,您需要使用 StartInfo 的 Arguments 属性。
您会在 myProcess 变量上获得 Null 异常,因为它永远不会被 new 实例化。
您可以创建一个 ProcessStartInfo 变量以与静态 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 之前
关于vb.net - 静默运行 CMD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12477776/