Как отключить кнопку закрытия в C?

Кто-нибудь знает, как отключить кнопку закрытия в окне консоли Windows с .exe исполняемый файл, который был создан из программы на C?

2 ответа

Отсюда:

#define _WIN32_WINNT 0x0500
#include <stdio.h>
#include <windows.h>

int main(int argc, _TCHAR* argv[]){
  HWND h;   
  HMENU sm;
  int i, j, c; 
  LPTSTR buf;  
  // get the handle to the console
  h = GetConsoleWindow(); 
  // get handle to the System Menu
  sm = GetSystemMenu(h, 0);  
  // how many items are there?  
  c = GetMenuItemCount(sm);   
  j = -1;  
  buf = (TCHAR*) malloc (256 *sizeof(TCHAR));  
  for (i=0; i<c; i++) {
    // find the one we want   
    GetMenuString(sm, i, buf, 255, MF_BYPOSITION);   
    if (!strcmp(buf, "&Close")) {        
      j = i;        
      break;      
    }
  }
  // if found, remove that menu item  
  if (j >= 0)
    RemoveMenu(sm, j, MF_BYPOSITION); 
  return 0;
}

Если вы хотите отключить кнопку в работающей программе, есть способы сделать это.

Принцип состоит в том, чтобы найти окно, затем найти кнопку внутри окна и затем отправить сообщение WM_DISABLE для кнопки.

Другие вопросы по тегам