De WinMain functie wordt aangeroepen door het systeem als de eerste entrypoint voor een Win32-toepassing.
int WINAPI WinMain) HINSTANCE hInstance, / / verwerken naar huidige exemplaarHINSTANCEhPrevInstance, / / ingang naar vorige instantieLPSTRlpCmdLine, / / pointer naar de opdrachtregelintnCmdShow / / show status van venster);
Als u nodig hebt om te detecteren of een ander exemplaar al bestaat, maakt een uniek benoemde mutex met behulp van de CreateMutex functie. CreateMutex zal slagen, zelfs als de mutex al bestaat, maar de functie GetLastError ERROR_ALREADY_EXISTS zal terugkeren. Dit geeft aan dat er een andere sessie van uw toepassing bestaat, omdat het de mutex eerste gemaakt.
| Waarde | Betekenis |
|---|---|
| SW_HIDE | Het venster wordt verborgen en een ander venster activeert. |
| SW_MINIMIZE | Minimaliseert het opgegeven venster en activeert u het venster op het hoogste niveau in de lijst van het systeem. |
| SW_RESTORE | Wordt geactiveerd en wordt een venster weergegeven. Als het venster is geminimaliseerd of gemaximaliseerd, herstelt het systeem het de oorspronkelijke grootte en positie (hetzelfde als SW_SHOWNORMAL). |
| SW_SHOW | Deze methode activeert een venster en weergegeven in de huidige grootte en positie. |
| SW_SHOWMAXIMIZED | Deze methode activeert een venster en weergegeven in een gemaximaliseerd venster. |
| SW_SHOWMINIMIZED | Deze methode activeert een venster en wordt het weergegeven als een pictogram. |
| SW_SHOWMINNOACTIVE | Een venster wordt weergegeven als een pictogram. Het actieve venster blijft actief. |
| SW_SHOWNA | Hiermee wordt een venster weergegeven in de huidige staat. Het actieve venster blijft actief. |
| SW_SHOWNOACTIVATE | Hiermee wordt een venster weergegeven in de meest recente grootte en positie. Het actieve venster blijft actief. |
| SW_SHOWNORMAL | Wordt geactiveerd en wordt een venster weergegeven. Als het venster is geminimaliseerd of gemaximaliseerd, herstelt het systeem het de oorspronkelijke grootte en positie (hetzelfde als SW_RESTORE). |
Als de functie slaagt, moet beëindigen wanneer zij een WM_QUIT-bericht ontvangt, het terugkeren de afrit waarde in de parameter wParam van dat bericht. Als de functie beëindigt alvorens de lus bericht, moet het nul terugkeren.
Uw WinMain moet initialiseren van de toepassing, de belangrijkste venster weergeven en voer een bericht ophalen-en-dispatch lus die is de controlestructuur op het hoogste niveau voor de rest van de toepassing van de uitvoering. Beëindigen de bericht-lus wanneer het een WM_QUIT-bericht ontvangt. Op dat punt, moet uw WinMain sluit de toepassingen, de waarde doorgegeven in de wParam parameter van het WM_QUIT bericht. Als WM_QUIT is ontvangen als gevolg van PostQuitMessagete roepen, is de waarde van wParam de waarde van parameter van de functie van de PostQuitMessage nExitCode . Voor meer informatie, Zie een bericht lus maken.
ANSI toepassingen kunnen de lpCmdLine -parameter van de functie WinMain gebruiken voor toegang tot de command-line string, met uitzondering van de naam van het programma. De reden dat WinMain Unicode-tekenreeksen niet terug is dat lpCmdLine gebruikt het gegevenstype LPSTR , niet de LPTSTR gegevenstype. De GetCommandLine -functie kan worden gebruikt voor toegang tot Unicode-tekenreeksen in de command line, omdat het gebruik maakt van het gegevenstype LPTSTR.
Windows CE: Windows CE biedt geen ondersteuning voor de volgende waarden voor de parameter nCmdShow
SW_MINIMIZE
SW_RESTORE
SW_SHOWMAXIMIZED
SW_SHOWMINIMIZED
SW_SHOWMINNOACTIVE
nbsp; Windows &NT: versie 3.1 of hoger vereist.
Windows:Windows 95 of hoger vereist.
Windows CE:Versie 1.0 of hoger vereist.
Header:Verklaard in winbase.h.
Bibliotheek importeren:Gebruiker gedefinieerde.
Windows, overzicht, functies van het venster, CreateMutex, DispatchMessage, GetCommandLine, GetMessage, PostQuitMessage, TranslateMessage