Convertire un progetto Visual C++ da applicazione console in applicazione desktop

Nel caso in cui si sia creato un progetto Visual C++ di tipo “Applicazione console di Windows” e si desideri invece convertirlo in un progetto di tipo “Applicazione desktop di Windows” è possibile farlo senza dover creare un nuovo progetto.

Questo tipo di situazione può accadere nel caso in cui ci si renda conto ad esempio di avere la necessità di non voler visualizzare neppure la finestra di console.

Per eseguire la conversione da applicazione console in applicazione desktop è possibile procedere come segue:

  • Selezionare il progetto è quindi Proprietà
  • Selezionare Linker / Sistema 
    • Modificare Sottosistema da Console (/SUBSYSTEM:CONSOLE) in Windows (/SUBSYSTEM:WINDOWS)
    • Tale modifica andrà eseguita per tutte la Configurazioni utilizzate nel progetto (Debug/Release) e le Piattaforme (x64/Win32)
  • Selezionare C/C++ / Preprocessore
    • Modificare in Definizione preprocessore l’occorrenza di _CONSOLE in _WINDOWS
    • Tale modifica andrà eseguita per tutte la Configurazioni utilizzate nel progetto (Debug/Release) e le Piattaforme (x64/Win32)
  • Modificare la funzione main in WinMain

Si noti che se l’obbiettivo è creare un’applicazione che non necessità di una GUI e non si desidera neanche avere la visualizzazione della console per brevi istanti è preferibile creare un’applicazione console e poi convertirla in applicazione windows per evitare il codice, di fatto non necessario in questo tipo di scenario applicativo, generato dall’IDE quando si crea un progetto di tipo “Applicazione desktop di Windows”. Ho utilizzato questo approccio durante lo sviluppo dell’applicazione RunHidden.