הפונקציה WinMain נקרא על ידי המערכת כמו נקודת הערך ההתחלתי עבור יישום מבוסס-Win32.
int WINAPI WinMain ( HINSTANCE hInstance, / / לטפל במופע הנוכחיHINSTANCEhPrevInstance, / / לטפל למופע הקודםכלי שירותlpCmdLine, / / מצביע אל שורת הפקודהintnCmdShow / / הצגת המצב של חלון);
אם אתה צריך לזהות אם מופע נוסף כבר קיים, ליצור באמצעות mutex בעלת שם ייחודי CreateMutex פונקציה. CreateMutex יצליחו גם אם mutex כבר קיים, אבל GetLastError הפונקציה תחזיר ERROR_ALREADY_EXISTS. אפשרות זו מציינת כי מופע נוסף של היישום קיים, מכיוון זה נוצר לראשונה את mutex.
| ערך | משמעות |
|---|---|
| SW_HIDE | מסתירה את החלון ומפעילה חלון אחר. |
| SW_MINIMIZE | ממזערת את החלון שצוין ומפעילה את החלון ברמה העליונה ברשימה של המערכת. |
| SW_RESTORE | הפעלת ומציגה חלון. אם החלון ממוזער או מוגדל, המערכת משחזר אותו שלו לגודלו ולמיקומו המקוריים (כמו SW_SHOWNORMAL). |
| SW_SHOW | הפעלת חלון ומציג אותו הנוכחי בגודל ובמיקום שלו. |
| SW_SHOWMAXIMIZED | הפעלת חלון ומציג אותו כחלון מוגדל. |
| SW_SHOWMINIMIZED | הפעלת חלון ומציג אותו כסמל. |
| SW_SHOWMINNOACTIVE | הצגת חלון כסמל. החלון הפעיל נשארת פעילה. |
| SW_SHOWNA | הצגת חלון במצבו הנוכחי. החלון הפעיל נשארת פעילה. |
| SW_SHOWNOACTIVATE | הצגת חלון גודל ומיקום האחרונה שלו. החלון הפעיל נשארת פעילה. |
| SW_SHOWNORMAL | הפעלת ומציגה חלון. אם החלון ממוזער או מוגדל, המערכת משחזר אותו שלו לגודלו ולמיקומו המקוריים (כמו SW_RESTORE). |
אם הפונקציה מצליחה, סיום כאשר הוא מקבל הודעה WM_QUIT, היא צריכה להחזיר ערך יציאה כלול בפרמטר wParam של אותה הודעה. אם הפונקציה מסתיימת לפני הזנת לולאת הודעה, הוא צריך להחזיר אפס.
שלך WinMain עליך לאתחל את היישום, הצגת החלון הראשי שלו ולהזין לולאה אחזור-שיגור ההודעה המהווה מבנה הבקרה ברמה העליונה עבור שארית הביצוע של היישום. לסיים את לולאת הודעה כאשר הוא מקבל הודעה WM_QUIT. בנקודה זו, שלך WinMain לצאת את היישום, את הערך שהועבר בפרמטר wParam של ההודעה WM_QUIT. אם WM_QUIT התקבלה כתוצאה מתקשר PostQuitMessage, הערך של wParam הוא הערך של הפונקציה PostQuitMessage nExitCode הפרמטר. לקבלת מידע נוסף, ראה יצירת לולאת הודעה.
ביישומי ANSI להשתמש בפרמטר lpCmdLine של הפונקציה WinMain כדי לגשת במחרוזת שורת פקודה, לא כולל את שם התוכנית. הסיבה לכך WinMain אין אפשרות להחזיר מחרוזות Unicode הוא שמשתמש זה lpCmdLine את סוג הנתונים של כלי שירות , סוג הנתונים LPTSTR לא. ניתן להשתמש בפונקציה GetCommandLine כדי לגשת מחרוזות Unicode בשורת הפקודה, מכיוון שהוא משתמש בסוג הנתונים LPTSTR.
חלונות CE: Windows CE אינו תומך את הערכים הבאים עבור הפרמטר nCmdShow
SW_MINIMIZE
SW_RESTORE
SW_SHOWMAXIMIZED
SW_SHOWMINIMIZED
SW_SHOWMINNOACTIVE
nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:דורש גירסה 1.0 ואילך.
כותרת עליונה:להצהיר על winbase.h.
ייבוא ספריית:מוגדרת על-ידי המשתמש.
מבט כולל על Windows, פונקציות חלון, CreateMutex, DispatchMessage, GetCommandLine, GetMessage, PostQuitMessage, TranslateMessage