我有一个控制台应用程序项目。它有gui(winforms)和控制台窗口,用作调试控制台(应用程序的运行日志)。
现在,如果我禁用了调试,我会使用ShowWindow
原生呼叫隐藏控制台窗口。
问题是:在我通过按X
按钮或退出(Application.Exit())关闭应用程序窗口后,我有一个僵尸控制台进程。
如果我在Environment.Exit(0)
开始时关闭控制台,则表格未显示。
我试图通过添加Environment.Exit(0)
来修改表单已关闭事件,但这不起作用,这意味着仍然存在僵尸控制台进程。
如何在应用程序退出时关闭控制台窗口?
答案 0 :(得分:3)
如果它是控制台应用程序,则在进程终止之前,控制台不会“关闭”。所以你只需要正常关闭表格......假设你像你应该“打开”它。
要“打开”表单,您需要运行它。通过调用Application.Run(Form)
运行它(与初始化实际表单项目的方式相同)。由于控制台已分配给您的流程,因此您的表单可能会写入Console.Out
,您应该看到自己写的内容。