2012-08-04 8 views
13

Ich habe mich umgesehen, aber ich konnte die Lösung für mein Problem nicht finden, selbst mit einigen angeblich gelösten Problemen, die meinen ähneln.verstecken Sie das Konsolenfenster eines C-Programms

Ich möchte das Konsolenfenster ausblenden, wenn mein C-Programm ausgeführt wird.

#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); 
} 

Dies ist, was ich versuchte, aber der Compiler gibt mir „Initialisierung macht Zeiger von Ganzzahl ohne cast“

und die fatalen eine, die tatsächlich die Zusammenstellung „undefined Verweis auf‚GetConsoleWindow‘“ stoppt

PS Ich habe wincon.h überprüft und die GetConsoleWindow-Funktion definiert.

+0

Dies könnte Ihnen helfen: [Wie Console Window mit WinAPI zu verbergen?] (Http://stackoverflow.com/questions/6096500/howto-hide-console-window-with-winapi) –

+0

Ken, ich benutze C nicht C++ und dieser Thread löst ein anderes Problem, nicht dieses. Ich habe es schon ausprobiert. – Athropos

+0

@ Steve314, du hast Recht. Zurückgehen und tiefer lesen, ist es nicht. Entfernen meines Kommentars - kann die enge Abstimmung nicht rückgängig machen, aber andere nicht auf die falsche Art anweisen. Danke für die Korrektur. :-) y Orionis, meine Entschuldigung. –

Antwort

14

Ihre

#define _WIN32_WINNT 0x0500 

(die benötigt wird, GetConsoleWindow zu verwenden - siehe documentation) vor

#include <windows.h> 

Das #define von windows.h wissen muss verwendet wird, um welche Version von Windows Sie sind Targeting (und damit welche Deklarationen es liefern muss/welche zusätzlichen Felder es zu Strukturen/anderen magischen Elementen hinzufügen muss, die mit diesem Linker verwandt sein können Error); Wenn Sie es definieren nach Sie windows.h einschließen, wird es nutzlos sein.

+0

Es hat funktioniert, danke! – Athropos

Verwandte Themen