2012-08-04 46 views
13

He estado buscando pero no he podido encontrar la solución a mi problema, incluso con algunos problemas supuestamente resueltos que se parecen a los míos.ocultar la ventana de la consola de un programa C

Quiero ocultar la ventana de la consola cuando se ejecuta mi programa C.

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

int main(){ 
    HWND hWnd = GetConsoleWindow(); 
    ShowWindow(hWnd, SW_MINIMIZE); //won't hide the window without SW_MINIMIZE 
    ShowWindow(hWnd, SW_HIDE); 
} 

Esto es lo que he intentado pero el compilador me da "la inicialización crea un puntero desde un entero sin una conversión"

y el fatal que realmente detiene la compilación de "referencia indefinida a 'GetConsoleWindow'"

PD He comprobado wincon.h y se define la función GetConsoleWindow.

+0

Esto podría ayudarlo: [¿Cómo ocultar la ventana de la consola con WinAPI?] (Http://stackoverflow.com/questions/6096500/howto-hide-console-window-with-winapi) –

+0

Ken, estoy usando C no C++ y ese hilo resuelve un problema diferente, no este. Ya lo probé. – Athropos

+0

@ Steve314, tienes razón. Volviendo y leyendo con más profundidad, no lo es. Eliminar mi comentario: no puedo deshacer la votación cerrada, pero no quiero dirigir a los demás de la manera incorrecta. Gracias por la corrección. :-) y Orionis, mis disculpas. –

Respuesta

14

Su

#define _WIN32_WINNT 0x0500 

(que es necesaria para utilizar GetConsoleWindow - ver el documentation) debe ser antes

#include <windows.h> 

Eso #define es utilizado por windows.h saber qué versión de Windows que está orientación (y, por lo tanto, qué declaraciones debe proporcionar/qué campos adicionales debe agregar a las estructuras/otra magia que pueda estar relacionada con ese vinculador) error); si lo define después de incluye windows.h será inútil.

+0

¡Funcionó, gracias! – Athropos

Cuestiones relacionadas