本文展示了一种可以同时让WPF程序可以以窗口或者Console运行的方法。
操作方法如下:
- 修改项目输出类型>控制台应用程序
- 修改app.xam.cs
- 修改App.xaml,删除startupuri
通过以上修改,即可实现。
app.xam.cs 修改如下:
public partial class App : Application
{
public static bool GUI = true;
protected override void OnStartup(StartupEventArgs e)
{
if (e.Args.Length > 0)
{
GUI = false;
Console.WriteLine(string.Join(" ", e.Args));
Console.WriteLine("StartCMD");
MainWindow mainWindow = new MainWindow();
mainWindow.start_run();
}
else
{
GUI = true;
FreeConsole();
MainWindow mainWindow = new MainWindow();
mainWindow.Show();
}
}
[DllImport("kernel32.dll")]
private static extern bool FreeConsole();
}