2012-01-20 12 views
5

Eventuali duplicati:
Create an Application without a Window
Win32 programming hiding console windowNascondere la finestra nera in C++

Come posso nascondere la finestra della console che appare quando eseguo il mio programma in C++? Il programma non emette nulla per lo stdout e non ho bisogno che quella finestra nera appaia ogni volta che eseguo il programma. Non voglio che sia minimizzato, voglio che sia invisibile. Qualche idea?

+1

Questo dipende dalla piattaforma. Stai parlando di Windows? –

risposta

16

Se si desidera nascondere la console è possibile chiamare FreeConsole sulle finestre

#include <Windows.h> 

int main() 
{ 
    FreeConsole(); 
    //other stuff 
} 

Come David menzionato questo potrebbe lampeggiare per un breve istante. Se non si desidera che è possibile creare una o un'applicazione windows service GUI di Windows e non creare una finestra come qui di seguito

#include <windows.h> 

int WinMain(HINSTANCE hInstance, 
        HINSTANCE hPrevInstance, 
        LPTSTR lpCmdLine, 
        int  nCmdShow) 
{ 
    //do stuff here 
    return 0; 
} 
+3

Questo mostra ancora la finestra della console per una frazione di secondo –

+1

FreeConsole è oro! grazie per il consiglio. Sto bene con un breve flash ... – jzeus

5

Sembra che il problema è che si sta creando un'applicazione console. Questi sono dotati di una console per impostazione predefinita. Entrambi ereditano la console del processo che li ha chiamati, se ne ha uno, o altrimenti creano una nuova console.

È consigliabile rendere l'applicazione target al sottosistema GUI anziché al sottosistema della console. Questo non significa che devi mostrare alcuna GUI. È perfettamente ragionevole e normale creare un'applicazione che abbia come target il sottosistema della GUI, ma non mostri alcuna finestra.

+0

Si noti inoltre che una GUI non può leggere o scrivere sulla console (se presente) che l'ha lanciata. –

+0

Grazie, non ci ho pensato! ; D – jzeus

+0

@David Ma se ho un requisito solo per l'applicazione basata su console, ma senza sfarfallio della finestra della console, è possibile ottenerlo? – foobar