我谁应该两种模式执行的小应用程序:非UI或WPF窗口。它应该取决于命令行参数。如何动态地或者控制台应用程序或Windows应用程序
在每种模式下,我需要显示一些反馈日志:
- 在WPF窗口模式下,WPF是要采取可视化日志的照顾,
- 在没有用户界面模式,我需要一个控制台显示日志。如果我的应用程序是从一个控制台(主要是cmd.exe)启动的,我想在不打开一个新的应用程序的情况下使用它。如果我的应用程序已经在控制台之外启动(双击explorer,CreateProcess,...),我需要创建一个新控制台来输出结果并等待一个Readkey关闭它。
我发现:
- 我怎么可以创建一个新的控制台: How to open/close console window dynamically from a wpf application?,
- 如何获取当前控制台窗口句柄显示/隐藏: Show/Hide the console window of a C# console application
我知道我可以静态选择项目属性中的“Windows应用程序”或“控制台应用程序”。
选择“Windows应用程序”,GetConsoleWindow()始终为0,我看不出如何重用以前的控制台。
选择“控制台应用程序”,我可以重用以前的控制台,但是从资源管理器中的WPF窗口模式下启动时,我的WPF主窗口下创建一个控制台。
的问题是:应用程序如何能真正的动态?在WPF窗口模式下,只有一个WPF窗口(并且根本没有控制台)或在非UI中,只有一个控制台(启动一个或新创建的一个)。
我认为它与WPF无关,但只在PE头和main/winmain中植入子系统。 – MuiBienCarlota