2012-08-17 16 views
5

¿Alguien sabe cómo desactivar el botón de cierre en una ventana de la consola de Windows con un archivo ejecutable .exe que se creó a partir de un programa en C?¿Cómo deshabilitar el botón de cerrar en C?

+2

No se puede. La ventana de la consola es un componente separado. La única forma es crear un programa GUI donde tenga control de sus propias ventanas. – Mysticial

+0

Además, ¿por qué querrías hacer esto? – Mysticial

+0

solo quiero hacerle una broma a mi hermano. pero tengo que asegurarme de que se asuste. ¿Sabes de alguna otra manera que puedo usar? por cierto, el único lenguaje de programación i konw es c, desafortunadamente – user1590836

Respuesta

0

Si desea desactivar un botón en un programa que se ejecuta existen métodos para hacer esto.

El principio es encontrar la ventana, y luego encontrar el botón dentro de la ventana y luego enviar un mensaje WM_DISABLE al botón.

5

De here:

#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; 
} 
+0

No estoy configurado para probar esto, así que +1 suponiendo que funcione. No sabía que podrías agarrar el asa a la ventana de la consola de esa manera. – Mysticial

+0

no funcionó, pruebe esto en el compilador en línea: cmpe150-1.cmpe.boun.edu.tr/ – user1590836

+1

lo siento, funciona. Acabo de escribir el otro código antes de este – user1590836

Cuestiones relacionadas