2010-06-18 73 views
0

现在我正在开发一个工具,通过命令行通过Process对象执行大量工作。所以有时候我希望命令窗口不显示,并且我希望它保持打开状态,以便用户可以看到发生了什么,可能会响应相应的输入。.Net进程保持命令窗口打开

Dim pro As New Process 
     pro.StartInfo.WorkingDirectory = path 
     pro.StartInfo.Arguments = command 
     pro.StartInfo.FileName = "hg" 

     pro.StartInfo.RedirectStandardOutput = True 
     If command.Contains("-q") Then 
      pro.StartInfo.UseShellExecute = False 
      pro.StartInfo.CreateNoWindow = True 
      pro.StartInfo.WindowStyle = ProcessWindowStyle.Hidden 
     End If 

     pro.Start() 

     pro.WaitForExit() 

     Return pro.StandardOutput.ReadToEnd 

我在command我检查的标志是一个-q如果它不包含此我想显示命令提示符给用户,恨不得将其关闭。

这是可能的,如果是的话我错过了什么?

回答

1
If command.Contains("-q") Then 
.... 
Else 
Shell("cmd /k" & Command, 1, True) 
End If 
+0

壳没有一个像这样的有效方法,你错过了什么。 – msarchet 2010-06-18 02:39:17

+0

Wierd。以下代码将保持命令行处于打开状态。 Dim Command As String Command =“ipconfig/all” Shell(“cmd/k”&Command,1,True) 但Shell(“cmd/c”&Command,1,True)会关闭它。 – N0Alias 2010-06-18 02:51:53

+0

壳是什么命名空间? – msarchet 2010-06-18 03:50:45

相关问题