这是我的C代码:
#define WINVER 0x0500
#include<windows.h>
HWND ConsoleWindow = GetConsoleWindow();
HMENU SystemMenu = GetSystemMenu(ConsoleWindow, FALSE);
DeleteMenu(SystemMenu, SC_CLOSE, MF_BYCOMMAND);
DeleteMenu(SystemMenu, SC_MINIMIZE, MF_BYCOMMAND);
DeleteMenu(SystemMenu, SC_MAXIMIZE, MF_BYCOMMAND);
我想灰显[☓],[☐]和[ - ]按钮,但只有[☓]按钮显示为灰色。
为什么呢?感谢。
PS:虽然[☐]和[ - ]按钮未显示为灰色,但它们已被禁用。
答案 0 :(得分:2)
隐藏按钮有效:
LONG_PTR style = GetWindowLongPtr(ConsoleWindow, GWL_STYLE);
style &= ~(WS_MAXIMIZEBOX | WS_MINIMIZEBOX);
SetWindowLongPtr(ConsoleWindow, GWL_STYLE, style);
SetWindowPos(ConsoleWindow, NULL, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_DRAWFRAME);
SetWindowPos()并不是绝对必要的,至少在Windows 8.1上,我包含它以防万一。这些按钮在短时间内对用户可见,没有我能想到的简单修复。