WinMain

Viene chiamata la funzione WinMain dal sistema come punto di ingresso iniziale per un'applicazione basata su Win32.

int WINAPI WinMain ( HINSTANCE , hInstance, / / handle all'istanza correnteHINSTANCEhPrevInstance, / / handle all'istanza precedenteLPSTRlpCmdLine, / / puntatore a riga di comandointnCmdShow / / Mostra stato di finestra);
 

Parametri

hInstance
Gestire all'istanza corrente dell'applicazione.
hPrevInstance
Handle per il precedente istanza dell'applicazione. Per un'applicazione basata su Win32, questo parametro è sempre NULL.

Se avete bisogno di rilevare se esiste già un'altra istanza, creare un mutex denominato in modo univoco tramite il CreateMutex funzione. CreateMutex avrà esito positivo anche se il mutex esiste già, ma la funzione GetLastError restituirà ERROR_ALREADY_EXISTS. Questo indica che esiste un'altra istanza dell'applicazione, perché è creato il mutex prima.

lpCmdLine
Puntatore a una stringa con terminazione null che specifica la riga di comando per l'applicazione, escludendo il nome del programma. Per recuperare l'intera linea di comando, utilizzare il funzione GetCommandLine.
nCmdShow
Specifica come la finestra deve essere mostrato. Questo parametro può essere uno dei seguenti valori:
Valore Significato
SW_HIDE Nasconde la finestra e attiva un'altra finestra.
SW_MINIMIZE Minimizza la finestra specificata e attiva la finestra di livello superiore nell'elenco del sistema.
SW_RESTORE Attiva e viene visualizzata una finestra. Se la finestra è ridotto a icona o ingrandita, il sistema ripristina per dimensioni e posizione (lo stesso che SW_SHOWNORMAL) originali.
SW_SHOW Attiva una finestra e lo visualizza nella sua attuale dimensione e posizione.
SW_SHOWMAXIMIZED Attiva una finestra e lo Visualizza come una finestra ingrandita.
SW_SHOWMINIMIZED Attiva una finestra e lo visualizza un'icona.
SW_SHOWMINNOACTIVE Visualizza una finestra come un'icona. La finestra attiva rimane attiva.
SW_SHOWNA Visualizza una finestra nel suo stato attuale. La finestra attiva rimane attiva.
SW_SHOWNOACTIVATE Visualizza una finestra nella sua dimensione e la posizione più recenti. La finestra attiva rimane attiva.
SW_SHOWNORMAL Attiva e viene visualizzata una finestra. Se la finestra è ridotto a icona o ingrandita, il sistema ripristina per dimensioni e posizione (lo stesso che SW_RESTORE) originali.

Valori restituiti

Se la funzione ha esito positivo, che chiude quando riceve un messaggio WM_QUIT, esso deve restituire il valore di uscita contenuto nel parametro wParam di quel messaggio. Se la funzione termina prima di entrare nel ciclo di messaggi, essa dovrebbe restituire zero.

Osservazioni

Vostro WinMain deve inizializzare l'applicazione, visualizzare la sua finestra principale e immettere un ciclo di reperimento e invio di messaggi che è la struttura di controllo di primo livello per il resto dell'esecuzione dell'applicazione. Quando riceve un messaggio WM_QUIT di terminare il ciclo di messaggi. A quel punto, tuo WinMain dovrebbe uscire dall'applicazione, restituendo il valore passato in parametro wParam del messaggio WM_QUIT. Se WM_QUIT è stato ricevuto in seguito alla chiamata PostQuitMessage, come descritto, il valore di wParam è il valore del parametro nExitCode della funzione PostQuitMessage, come descritto . Per ulteriori informazioni, vedere creazione di un ciclo di messaggi.

Applicazioni ANSI possono utilizzare il parametro lpCmdLine della funzione WinMain per accedere alla stringa della riga di comando, escludendo il nome del programma. La ragione per cui WinMain non può restituire stringhe Unicode è che quel lpCmdLine utilizza il tipo di dati LPSTR , non i dati LPTSTR digitare. La funzione GetCommandLine può essere utilizzata per accedere stringhe Unicode nella riga di comando, perché utilizza il tipo di dati LPTSTR.

Windows CE: Windows CE non supporta i seguenti valori per il parametro nCmdShow

SW_MINIMIZE

SW_RESTORE

SW_SHOWMAXIMIZED

SW_SHOWMINIMIZED

SW_SHOWMINNOACTIVE

Descrizione

nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Richiede la versione 1.0 o successiva.
Intestazione:Dichiarati in Winbase.
Importare librerie:Definito dall'utente.

Vedi anche

Panoramica di Windows, le funzioni finestra, CreateMutex, DispatchMessage, GetCommandLine, GetMessage, PostQuitMessage, come descritto, TranslateMessage