具有GUI和控制台模式的WPF应用程序

时间:2011-03-19 19:48:32

标签: .net wpf console

我理解从控制台窗口运行WPF应用程序并输出到控制台而不是显示gui(又名This Question)存在问题。

该问题的“结论”(似乎已经得到很好的研究和询问)是可以从应用程序输出到控制台,但它会立即返回 - 而不是像控制台应用程序那样阻塞。

但是,查看Visual Studio特别是'devenv.exe'进程,这正是它所做的事情:

  • 从资源管理器中双击devenv.exe仅运行应用程序gui。
  • 从控制台(cmd.exe)窗口中
    • devenv.exe<enter>运行Gui立即返回控制台
    • devenv.exe /?<enter>显示控制台内的帮助,仅在显示所有输出后返回。
    • devenv.exe test.txt<enter>运行Gui(加载test.txt)立即返回控制台

所以,必须有可能以某种方式在我们自己的应用程序中出现这种行为!有谁知道怎么做?

2 个答案:

答案 0 :(得分:5)

在信息性说明中,本文here解释了Visual Studio如何做到这一点。我引用:

  

在VisualStudio案例中,实际上有两个二进制文件:devenv.com和devenv.exe。 Devenv.com是一款控制台应用。 Devenv.exe是一个GUI应用程序。当您键入devenv时,由于Win32探测规则,会执行devenv.com。如果没有输入,devenv.com将启动devenv.exe,并退出。如果有输入,devenv.com会将它们作为普通的控制台应用程序处理。

答案 1 :(得分:1)

进入App.xaml并删除Startup Uri以及对已启动的主应用程序窗口的所有引用。

您可以覆盖OnStartup Uri。请参阅此问题:WPF Command Line