VC++ 显示或隐藏控制台窗口关闭按钮
2023-12-18 22:55:13
一个需要确保关闭时做处理的程序,应当禁止用户点击控制台窗口上面的关闭按钮,强制关闭程序,否则可能会产生严重的问题。
正确做法应为:控制台程序工作时禁止关闭按钮,控制台程序完全结束之前启用关闭按钮。(因为控制台可能在 PowerShell、CMD、VSConsole 之中被宿主化运行)
bool Win32Native::EnabledConsoleWindowClosedButton(bool enabled) noexcept
{
HWND consoleWnd = GetConsoleWindow();
if (NULL == consoleWnd)
{
return false;
}
HMENU systemMenu = GetSystemMenu(consoleWnd, FALSE);
if (NULL == systemMenu)
{
return false;
}
if (enabled)
{
return EnableMenuItem(systemMenu, SC_CLOSE, MF_BYCOMMAND | MF_ENABLED) != FALSE;
}
else
{
return EnableMenuItem(systemMenu, SC_CLOSE, MF_BYCOMMAND | MF_GRAYED) != FALSE;
}
}
文章来源:https://blog.csdn.net/liulilittle/article/details/135070663
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!