【问题标题】:Run CMD Silently静默运行 CMD
【发布时间】:2012-09-10 18:17:45
【问题描述】:

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

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

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

【问题讨论】:

  • 在代码上它说我可能会发生空异常。但是我正在更改其他人的代码,他们有一个错误陷阱,只有一个消息框

标签: vb.net cmd silent


【解决方案1】:

我想你的 cmdStr 是一个带有 CMD 参数的字符串。
如果是这样,您需要使用 StartInfo 的 Arguments 属性。
您会在 myProcess 变量上获得 Null 异常,因为它永远不会被 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 之前

【讨论】:

  • 谢谢史蒂夫,我缺少的部分是新的(没有设置对象的实例以及时间和参数部分),您未编辑的版本在我添加新的之后工作。非常感谢
猜你喜欢
  • 1970-01-01
  • 2010-09-29
  • 2020-04-26
  • 1970-01-01
  • 1970-01-01
  • 2014-05-03
  • 2016-01-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多