我有一个WinForms应用程序,有时会从命令行中使用。 以下是代码(当然是经过简化的):
[STAThread]
static void Main()
{
AttachConsole(ATTACH_PARENT_PROCESS);
Console.WriteLine("Hello");
/*Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());*/
}
如果这是一个控制台应用程序,输出可能是:
C:\ConsoleApplication\ConsoleApplication.exe
Hello
C:\ConsoleApplication\_
在Windows应用程序中,实际上是这样的:
C:\WindowsApplication\WindowsApplication.exe
C:\WindowsApplication\Hello
_
有人能告诉我为什么会出现这样的区别,以及如何让我的Windows应用程序在从cmd运行时表现得像控制台吗?
编辑:
我希望我的Windows应用程序在从cmd运行时表现得像控制台。
C:\WindowsApplication\WindowsApplication.exe
Hello
C:\WindowsApplication\_
解决方案:
因此我正在以以下方式运行我的应用程序
C:\WindowsApplication\start /wait WindowsApplication.exe