我有一个Windows窗体应用程序,它使用AllocConsole打开一个控制台。它工作正常,但问题是当我通过单击“X”-Button关闭控制台时,整个应用程序也退出,但我希望只有控制台窗口应关闭,应用程序应该像往常一样继续。有没有办法做到这一点?
答案 0 :(得分:2)
有一种方法可以以编程方式隐藏您已分配的窗口 - 使用FreeConsole。
alloc'd控制台上的X按钮的工作方式与WinForm上的X按钮类似 - 我猜它会触发Form_Closing()事件。
您需要在该事件处理程序中使用某些逻辑来决定是否实际关闭表单。一种可能性:抓住鼠标位置,看它是否在Form的边界框内。如果是,则结束单击表单的X,然后关闭应用程序。如果鼠标不在表单中,则断定单击控制台X,并调用FreeConsole。
我没试过这个。