我想禁用/灰显控制台窗口上的系统菜单按钮,尤其是最小化按钮.我已尝试在另一个线程上提到的函数,但即使在使用它们之后,控制台窗口仍然没有灰色的最小化按钮.我也查看了DeleteMenu()函数,但它似乎没有灰色按钮的选项.
这是测试代码:
#include <Windows.h>
using namespace std;
int main()
{
//SetConsoleTitle(L"CPU Information");
HWND consoleWindow = GetConsoleWindow();
HMENU hMenu = GetSystemMenu(consoleWindow, FALSE);
EnableMenuItem(hMenu, SC_MINIMIZE, MF_BYCOMMAND | MF_GRAYED);
DrawMenuBar(consoleWindow);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
GetWindowLong + SetWindowLong FTW!
int main(int argc, _TCHAR* argv[])
{
HWND consoleWindow = GetConsoleWindow();
LONG style = GetWindowLong(consoleWindow , GWL_STYLE);
style = style & ~(WS_MINIMIZEBOX);
SetWindowLong(consoleWindow, GWL_STYLE, style);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这将灰显并禁用窗口右上角的最小化框以及系统菜单中的"最小化"选项.
| 归档时间: |
|
| 查看次数: |
1423 次 |
| 最近记录: |