我寫了一個自定義的提供基於winforms的交互式shell的powershell主機。 MSDN的例子非常好,我可以在幾個小時內找到工作。C#Powershell主機,捕獲已啓動的控制檯應用程序的輸出
所有標準的內置命令如dir等都按預期工作。但是,當我嘗試啓動另一個控制檯應用程序(如FTP客戶端)時,該應用程序開始向stdout發送輸出。我可以通過將VS中的應用程序類型從Windows更改爲控制檯來看到這一點。一旦我從交互式shell啓動FTP,FTP就開始與控制檯窗口交談。
任何人都解決過這個問題嗎?在C++中,我可以重定向stdin和stdout並完成它,但我沒有看到在c#中執行此操作的方法。幫幫我!
更新
好吧,什麼我運行的是不是一個內置的命令將立即開始與控制檯窗口交互。
謝謝。這適用於cmd.exe和其他可執行文件,但不適用於PowerShell。 – 2010-08-06 14:35:48
對不起,我完全錯過了Powershell的一部分 – 2010-08-06 19:40:16