WinMain

Funkcja WinMain jest wywoływana przez system jako punkt początkowy wejścia dla aplikacji z systemu Win32.

int WINAPI WinMain ( Wystąpienie HINSTANCE  wystąpienie hInstance, / / dojście do bieżącej instancjiWystąpienie HINSTANCEhPrevInstance, / / dojście do poprzedniego wystąpieniaLPSTRlpCmdLine, / / wskaźnik do wiersza poleceniaintnCmdShow / / wyświetlanie stanu okna);
 

Parametry

wystąpienie hInstance
Dojście do bieżące wystąpienie aplikacji.
hPrevInstance
Dojście do poprzedniego wystąpienia aplikacji. Dla aplikacji systemu Win32 ten parametr jest zawsze zerowa.

Aby wykryć, czy wystąpienie już istnieje, należy utworzyć unikatowej nazwie obiektu mutex za pomocą funkcji CreateMutex . Funkcja CreateMutex powiedzie się nawet wtedy, gdy mutex już istnieje, ale funkcja GetLastError zwraca ERROR_ALREADY_EXISTS. Oznacza to, że istnieje inne wystąpienie aplikacji, ponieważ pierwszy utworzony mutex.

lpCmdLine
Wskaźnik ciąg zakończony zerem, określający wiersza polecenia dla aplikacji, z wyłączeniem nazwę programu. Aby pobrać cały wiersz polecenia, użyj funkcji GetCommandLine.
nCmdShow
Określa, w jaki sposób okno ma zostać wyświetlona. Ten parametr może mieć jedną z następujących wartości:
Wartość Znaczenie
SW_HIDE Ukrywa okno i uaktywnia innego okna.
SW_MINIMIZE Minimalizuje okno określony i uaktywnia okno najwyższego poziomu w systemie listy.
SW_RESTORE Uaktywnia i wyświetla okno. Jeśli okno jest zminimalizowane lub zmaksymalizowane, systemu przywraca go do pierwotnego rozmiaru i położenia, (taki sam, jak SW_SHOWNORMAL).
SW_SHOW Uaktywnia okno i wyświetla go w jego bieżący rozmiar i położenie.
SW_SHOWMAXIMIZED Uaktywnia okno i wyświetli go jako okno zmaksymalizowane.
SW_SHOWMINIMIZED Uaktywnia okno i wyświetli go jako ikona.
SW_SHOWMINNOACTIVE Wyświetla okno jako ikona. Aktywne okno pozostaje aktywna.
SW_SHOWNA Wyświetla okno w bieżącym stanie. Aktywne okno pozostaje aktywna.
SW_SHOWNOACTIVATE Wyświetla okno w jego ostatnich rozmiar i położenie. Aktywne okno pozostaje aktywna.
SW_SHOWNORMAL Uaktywnia i wyświetla okno. Jeśli okno jest zminimalizowane lub zmaksymalizowane, systemu przywraca go do pierwotnego rozmiaru i położenia, (taki sam, jak SW_RESTORE).

Zwraca wartości

Jeśli funkcja powiedzie się, kończące po odebraniu wiadomości WM_QUIT, gdy powinna zwrócić wartość Zakończ zawarte w tej wiadomości wParam parametr. Jeśli funkcja zakończy się przed wprowadzeniem pętli komunikatów, należy zwrócić zero.

Uwagi

Twój WinMain powinny Zainicjuj aplikację, wyświetlić jego główne okno i wprowadź pętli pobierania i wysyłania wiadomości, która jest strukturą najwyższego poziomu kontroli, okres pozostający do zakończenia wykonywania aplikacji. Pętla wiadomości jest zakończone wówczas, gdy otrzyma komunikat WM_QUIT. W tym punkcie sieci WinMain należy zakończyć aplikację zwrócenie wartości przekazywane w parametrze wParam komunikat WM_QUIT. Jeśli WM_QUIT została odebrana z wywołaniem PostQuitMessage, wartość wParam jest wartość parametru nExitCode funkcji PostQuitMessage . Aby uzyskać więcej informacji zobacz tworzenie pętli komunikatów.

Aplikacje ANSI można użyć parametru lpCmdLine funkcję WinMain dostępu ciąg wiersza polecenia, z wyłączeniem nazwę programu. Dlatego, że WinMain nie może zwrócić ciągów Unicode jest to lpCmdLine używa typu danych LPSTR , typ nie danych LPTSTR . Funkcji GetCommandLine może służyć do dostępu ciągów Unicode w wierszu polecenia, ponieważ używa typu danych LPTSTR.

Systemu Windows CE: Windows CE nie obsługuje następujących wartości dla parametru nCmdShow

SW_MINIMIZE

SW_RESTORE

SW_SHOWMAXIMIZED

SW_SHOWMINIMIZED

SW_SHOWMINNOACTIVE

Skrócone informacje

nbsp; Windows &NT: wymagana wersja 3.1 lub nowsza.
Systemu Windows:Wymaga systemu Windows 95 lub nowszego.
Systemu Windows CE:Wymaga wersja 1.0 lub nowsza.
Nagłówka:Zadeklarowane w winbase.h.
Importowanie biblioteki:Zdefiniowane przez użytkownika.

Zobacz też

Omówienie Windows, okno funkcji, CreateMutex, DispatchMessage, GetCommandLine, GetMessage, PostQuitMessage, TranslateMessage