在cmd窗口中启动进程

时间:2012-12-04 23:11:51

标签: vb.net

我必须在cmd窗口中启动一个进程。 但是在显示的情况下,由于某些错误cmd窗口只是闪烁,我看不到会发生什么。如果cmd窗口保持打开直到某些按键或类似的话,这将是最好的。

Dim q As String = Chr(34)
Dim p As New Process
With p.StartInfo
      .FileName = q & whereis7z & "\7z.exe" & q
      .Arguments = " e " & q & tempArch & fNameStr & q & " -y"
      .WindowStyle = ProcessWindowStyle.Normal
      .CreateNoWindow = False
      .WorkingDirectory = tempArch
       Debug.Print(.FileName & .Arguments)
End With
p.Start()
If p.ExitCode <> 0 Then
       MsgBox(p.ExitCode, MsgBoxStyle.Critical)
End If

这里是否有任何方法可以保持cmd窗口打开,直到按下按键才能看到我的'StartInfo'出了什么问题,因为'ExitCode'还不够。

2 个答案:

答案 0 :(得分:1)

您应该直接执行cmd.com应用程序而不是程序。

如果您从开始菜单“cmd / k dir”尝试,您将收到目录列表,窗口将保持打开状态。

我认为你必须在参数(参数)中传递你的应用程序

希望这会有所帮助 哔叽

答案 1 :(得分:1)

或者,您可以重定向窗口的标准输出以捕获程序输出。

p.StartInfo.RedirectStandardOutput = True

然后只需阅读程序输出的内容,以便您自己显示,

Dim Output as String = p.StandardOutput.ReadToEnd