我有几个问题都与一个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