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);
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.
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). |
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.
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
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.
Omówienie Windows, okno funkcji, CreateMutex, DispatchMessage, GetCommandLine, GetMessage, PostQuitMessage, TranslateMessage