2010-06-18 75 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

相關問題