以传递参数的Console应用程序运行应用程序,否则以Win-Form应用程序运行
本文关键字:应用程序 运行 Win-Form Console 参数 | 更新日期: 2023-09-27 18:19:56
我有一个应用程序,我想像这样运行:
-
如果发送了args-我希望它表现为控制台应用程序
-
如果args未发送-我希望它作为windows窗体应用程序运行
当我将输出类型设置为控制台时,当未检测到args时,我将启用视觉样式并运行。它工作得很好,只是控制台窗口打开/关闭很快,这真的让我很困扰。有没有办法不让控制台窗口出现?我正在寻找一种完全不创建它的方法。
我会反过来做,让它成为一个WinForms应用程序,因为你在创建任何东西之前(在program.cs的主函数中)就会进入代码。
请参阅此链接:http://www.rootsilver.com/2007/08/how-to-create-a-consolewindow
- 创建Windows.Forms应用程序
-
添加外部功能
[System.Runtime.InteropServices.DllImport( "kernel32.dll" )] private static extern bool AllocConsole();
-
在您应用程序的主要方法中:
if ( windows_app ) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } else { AllocConsole(); Console.WriteLine( "foo" ); }