C#关闭WPF应用程序中的控制台而不关闭应用程序

时间:2015-03-04 14:12:12

标签: c# wpf events event-handling console

我正在制作WPF应用程序,并且我可以在Console(或.txt文件,如果用户需要)中写入日志。

我正在使用kernel32.dll的方法创建控制台实例:AllocConsole(); FreeConsole(); GetConsoleWindow(); GetConsoleOutputCP();

但如果用户关闭了控制台,我的应用也会关闭,但这不是我想要的。

我尝试使用kernel32.dll的SetConsoleCtrlHandler()方法或标准WPF事件(AppDomain.CurrentDomain.ProcessExitApp.Current.Exit),但都没有捕获控制台关闭事件。

有办法做到这一点吗?或者是否应该在cmd进程中使用echo来实现登录到控制台?

1 个答案:

答案 0 :(得分:0)

您可以启动一个进程(cmd.exe,可选择将您的应用或命令作为参数)。因此,您可以写入控制台的标准输入,您将会注意到这些事件。