我正在开发一个简单的 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控制台功能 https://learn.microsoft.com/en-us/windows/console/console-functions and 菜单功能 https://learn.microsoft.com/en-us/windows/win32/menurc/menu-functions
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)