实现起来不难
调用WIN32 API函数
GetSystemMenu取得窗口系统按钮句柄
HMENU hMenu = GetSystemMenu(hWnd, FALSE);
然后用EnableMenuItem把某个按键变灰....
以下给出测试代码:
#include <windows.h>
HWND GetConsoleHandle()
{
HWND hWnd;
#define BUFFERSIZE 1024
TCHAR szOldCaption[BUFFERSIZE];
TCHAR szNewCaption[BUFFERSIZE];
GetConsoleTitle(szOldCaption, sizeof (szOldCaption));
wsprintf(szNewCaption, "%d:%d", GetTickCount(), GetCurrentProcessId());
SetConsoleTitle(szNewCaption);
Sleep(40);
hWnd = FindWindow(NULL, szNewCaption);
SetConsoleTitle(szOldCaption);
return hWnd;
}
int main(void)
{
HWND hWnd;
hWnd = GetConsoleHandle();
HMENU hMenu = GetSystemMenu(hWnd, FALSE);
EnableMenuItem(hMenu, SC_CLOSE, MF_BYCOMMAND | MF_DISABLED);
return 0;
}