我正在开发一个没有类和对象的简单 C++ 控制台应用程序。
单击红色 X 按钮时,是否有任何方法或功能可以防止控制台关闭?
我正在使用 Visual Studio C++ Express 2010:一个仅包含 main.cpp 文件的简单控制台应用程序。
感谢您回答我的问题:) !!
最佳答案
这对我有用:
#include "conio.h"
void main()
{
HWND hwnd = GetConsoleWindow();
HMENU hmenu = GetSystemMenu(hwnd, FALSE);
EnableMenuItem(hmenu, SC_CLOSE, MF_GRAYED);
}
此时,重新启用按钮:
EnableMenuItem(hmenu, SC_CLOSE, MF_ENABLED);
...并设置窗口的标题:
char consoleTitle[256];
wsprintf(consoleTitle, _T("My little window"));
SetConsoleTitle((LPCTSTR)consoleTitle);
我看到大多数引用使用 DeleteMenu
而不是 EnableMenuItem
。我更喜欢后者,因为您可以获得更多控制权(启用/禁用/灰显等)。有关完整选项,请查看 MSDN Console Functions和 Menu Functions
关于windows - C++ 防止控制台窗口在单击红色 X 时关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15834818/