2012-12-04 68 views
0

我必須在cmd窗口啓動一個進程。 但在遇到像某些錯誤所示的情況下,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」是不夠的。

回答

1

或者,你可以在窗口的標準輸出重定向,以便捕捉程序輸出。

p.StartInfo.RedirectStandardOutput = True 

然後,只需在什麼程序有輸出,所以你可以自己顯示它讀取,

Dim Output as String = p.StandardOutput.ReadToEnd 
+0

哇,這很好!非常感謝!爲了使用這個我應該設置proccess信息.UseShellExecute = False。最後,我可以從我的存檔器中讀取一條消息:'找不到存檔':) –

1

您應該直接執行cmd.com應用程序而不是您的程序。

如果您從開始菜單「cmd/k dir」嘗試,您將收到目錄列表,窗口將保持打開狀態。

我認爲你必須通過你的應用程序中的參數(參數)

希望這有助於 塞爾

+0

好嗶嘰,不幸的是我必須用我的程序:)無論如何,感謝幫助。 –

相關問題