1
我試圖讓我的GUI應用程序有一個CLI前端(而不是相反)。在Windows窗體應用程序中訪問控制檯對象的最佳方法?
我已經能夠處理沒有問題的參數(感謝System.Environment.GetCommandLineArgs()
),但我很好奇什麼最好的獲得訪問寫輸出到控制檯。
我找到了AllocConsole()
的參考,但是目前還不清楚這是否是唯一的方法,因爲我更喜歡在託管代碼中顯示的東西。
我試圖讓我的GUI應用程序有一個CLI前端(而不是相反)。在Windows窗體應用程序中訪問控制檯對象的最佳方法?
我已經能夠處理沒有問題的參數(感謝System.Environment.GetCommandLineArgs()
),但我很好奇什麼最好的獲得訪問寫輸出到控制檯。
我找到了AllocConsole()
的參考,但是目前還不清楚這是否是唯一的方法,因爲我更喜歡在託管代碼中顯示的東西。
還有AttachConsole,但這總是一個錯誤,因爲它允許輸出混合。
AllocConsole()是它。只是創建一個像控制檯一樣的表單將是Winformy的更多方式。具有相當大的優勢,用戶關閉它不會導致程序中止。
我其實不希望有一個控制檯界面_co-exist_與窗體界面;因此您的方法對我目前的使用情況並不重要,但可能適用於其他使用要求。如果我使用AllocConsole(),[按預期方式](http://msdn.microsoft.com/en-us/library/ms681944(VS.85).aspx),則會生成一個新的控制檯。看起來,[AttachConsole()](http://www.pinvoke.net/default.aspx/kernel32/AttachConsole,.html)將允許我附加到作爲cmd.exe主機進程的控制檯!謝謝! – mbrownnyc
供將來參考:我遇到了另一個問題,這個hacky解決方案工作:http://stackoverflow.com/questions/1305257/using-attachconsole-user-must-hit-enter-to-get-regular-command-line/2463039#2463039 ewww。 – mbrownnyc