我有幾個問題都與一個Windows應用程序有關,它也作爲控制檯應用程序運行。控制檯輸出格式和控制檯Alloc
在我的程序入口點,我有確定命令行參數是否被傳入的邏輯,如果是,我打電話給AllocConsole()。這工作得不錯,但我很好奇,如果有可能不彈出一個新的控制檯窗口。所以期望的是用戶會從命令窗口調用它,所以我想讓應用程序的輸出進入用戶當前工作的窗口,而不是其他屏幕。此外,通過AllocConsole()彈出的控制檯窗口不便於用戶使用。例如,如果用戶輸入了錯誤的參數,新窗口將會打開,通知用戶他們的錯誤,然後用戶必須回到他們原來的窗口來修復錯誤,然後再次運行該命令。基本上我正在尋找更傳統的命令行體驗。這是可能的在我的情況?
下一個問題與格式化控制檯輸出有關。我在這裏閱讀了幾篇關於SO和MSDN的文章,但我似乎無法找到一個好的答案。我目前在做這樣的事情:
Console.WriteLine("{0,0}\t\t{1,10}", item.Key, item.Value);
此作品不夠好,但它是完全可能的,在item.Value值將是幾行長從而結束幾行。我正在尋找一個更傳統的'table'佈局,其中item.Value的文本仍然包裹行,但被限制在它自己的列中,並且不包裹在item.Key的值下面。這是可能的,如果是的話,最好的方法是什麼?
謝謝!
而不是有條件地打開控制檯的表單應用程序爲什麼不只是有一個控制檯應用程序有條件地打開窗口? – Servy
雖然這需要對我正在使用的解決方案進行一些重組,但這是一種可能性。 – dparsons