2010-10-21 56 views
3

標題說明它。我知道我可以使用Process或ProcessStartInfo來運行參數,但我的意思是實際上向我的應用程序添加了命令提示符控件(因爲我經常使用它,並且如果它已經內置,它會很方便)。有什麼辦法能比編碼自定義控件做到這一點其他如果不是我可以住在一起,但它肯定會幫助C#可以將命令提示符控件添加到我的應用程序

回答

-2

什麼是在一個循環做到Console.ReadLine()/ Console.WriteLine()的問題?這是最有效的方式,你可以完全控制你在做什麼。

+1

誰投我的答案了?我認爲這個功能微不足道,爲什麼使用其他庫可能會導致問題並添加依賴項(cmd.exe僅適用於Windows,只能在完全信任時執行其他可執行文件)。 – codymanix 2010-10-21 12:53:57

+0

你能詳細說明嗎? – david 2010-10-21 12:55:51

+1

* rofl *我得到了一個被接受的-1答案。這個沒有特別的徽章嗎? – codymanix 2010-10-25 13:56:58

2

像這樣(未測試):?

ProccessInfo pi = new ProccessInfo("cmd.exe"); 
pi.RedirectStandardError=true; 
pi.RedirectStandardInput=true; 
pi.RedirectStandardOutput=true; 
Process cmd = Process.Start(pi); 
cmd.StandardInput.WriteLine("Dir"); 
textBox1.Text = cmd.StandardOutput.ReadToEnd(); 

當心死鎖,這些方法可以阻擋!

您可以在LSO使用該解決方案從codeproject.com:http://www.codeproject.com/KB/miscctrl/commandprompt.aspx

-1

this question和相關的。例如this source code

你可以開始你的勝利應用程序的窗口附近的一個控制檯,你將控制,並可以輸出一些數據,或從用戶獲取輸入。

+0

我不放棄得到它。使用AllocConsole()我可以將一個控制檯控件附加到我的應用程序中?但它是如何工作的,我該如何使用它? – david 2010-10-21 13:05:27

+0

@大衛:'AllocConsole()'靠近主窗體創建一個控制檯窗口,其使用標準的'Console.WriteLine()' – abatishchev 2010-10-21 13:38:17

+0

好了,感謝您的信息,你可以寫;) – david 2010-10-21 13:51:29

相關問題