WinMain

Funcția WinMain este numit de sistem ca punct de intrare inițială pentru o aplicație Win32 bazată pe.

int WINAPI WinMain ( HINSTANCE  hInstance, / / ocupa la instanță curentHINSTANCEhPrevInstance, / / ocupa la instanță anterioarăLPSTRlpCmdLine, / / cursorul în linia de comandăintnCmdShow / / afișează starea de fereastra);
 

Parametrii

hInstance
Mâner instanță actuală a cererii.
hPrevInstance
Mâner instanță anterioară aplicării. Pentru o aplicație Win32 bazate, acest parametru este întotdeauna NULL.

Dacă aveți nevoie pentru a detecta dacă un alt exemplu există deja, creați un utilizând mutex unic numit CreateMutex funcție. CreateMutex va reuși, chiar dacă mutex există deja, dar GetLastError funcția va întoarce ERROR_ALREADY_EXISTS. Acest lucru indică faptul că există o altă instanță a aplicației, deoarece a creat primul mutex.

lpCmdLine
Indicatorul la un șir null-terminated specificând linia de comandă de aplicare, cu excep?ia numele programului. Pentru a prelua întreaga linie de comandă, utilizați GetCommandLine funcție.
nCmdShow
Specifică modul în fereastra este să fie afișate. Acest parametru poate fi una dintre următoarele valori:
Valoarea Sensul
SW_HIDE Ascunde fereastra și activează o altă fereastră.
SW_MINIMIZE Minimizează fereastra specificate și activează fereastra nivel superior din lista a sistemului.
SW_RESTORE Activează și afișează o fereastră. Dacă fereastra este minimizată sau maximizată, sistemul se restabilește original dimensiunea și poziția (la fel ca SW_SHOWNORMAL).
SW_SHOW Activează o fereastră și ea afișează dimensiunea actuală ?i pozi?ia.
SW_SHOWMAXIMIZED Activează o fereastră și se afișează ca o fereastră maximizată.
SW_SHOWMINIMIZED Activează o fereastră și se afișează ca o pictogramă.
SW_SHOWMINNOACTIVE Afișează o fereastră ca pictogramă. Fereastra activă rămâne activă.
SW_SHOWNA Afișează o fereastră în starea sa curentă. Fereastra activă rămâne activă.
SW_SHOWNOACTIVATE Afișează o fereastră la dimensiunea și poziția cea mai recentă. Fereastra activă rămâne activă.
SW_SHOWNORMAL Activează și afișează o fereastră. Dacă fereastra este minimizată sau maximizată, sistemul se restabilește original dimensiunea și poziția (la fel ca SW_RESTORE).

Valorile întroarse

Dacă funcția reușește, care se încheie atunci când primește un mesaj WM_QUIT, ar trebui să întoarce valoarea de ie?ire din acel mesaj wParam parametru. Dacă funcția se termină înainte de a intra la bucla de mesaj, acesta trebuie să returnați zero.

Observații

Dumneavoastră WinMain ar trebui să ini?ializat aplica?ia, afișați fereastra sa principală, și introduceți o buclă de regăsire și expediere mesaj care este structura de control de nivel superior pentru restul de executarea aplicației. Termina bucla mesaj atunci când primește un mesaj de WM_QUIT. În acel moment, vă WinMain ar trebui să ieși cererii, se întoarce valoarea trecut în WM_QUIT mesajului wParam parametru. Dacă WM_QUIT a fost primit ca urmare a PostQuitMessagede asteptare, valoarea wParam este valoarea parametru funcția de PostQuitMessage nExitCode . Pentru mai multe informații, consultați crearea o buclă de mesaj.

Aplicații ANSI utilizați parametrul lpCmdLine al funcției WinMain pentru a accesa șirul de linie de comandă, cu excep?ia numele programului. Motivul pentru care WinMain nu se pot întoarce siruri de caractere Unicode este că lpCmdLine utilizează tipul de date LPSTR , nu LPTSTR tip. Funcția de GetCommandLine pot fi folosite pentru a accesa siruri de caractere Unicode în linia de comandă, deoarece utilizează tipul de date LPTSTR.

Windows CE: Windows CE nu acceptă următoarele valori pentru parametrul nCmdShow

SW_MINIMIZE

SW_RESTORE

SW_SHOWMAXIMIZED

SW_SHOWMINIMIZED

SW_SHOWMINNOACTIVE

QuickInfo

nbsp; Windows &NT: necesită versiunea 3.1 sau mai târziu.
Windows:Necesită Windows 95 sau o versiune ulterioară.
Windows CE:Necesită versiunea 1.0 sau mai târziu.
Antet:A declarat în winbase.h.
Import Biblioteca:Definite de utilizator.

A se vedea, de asemenea

Prezentare generală a Windows, fereastra Funcții, CreateMutex, DispatchMessage, GetCommandLine, GetMessage, PostQuitMessage, TranslateMessage