GetMessage

הפונקציה GetMessage מאחזר הודעה מתור ההודעות של הליך המשנה הקורא וממקם אותה במבנה שצוין. פונקציה זו באפשרותך לאחזר את שתי ההודעות המשויך חלון שצוין ו שרשור הודעות שהוצבו דרך PostThreadMessage פונקציה. הפונקציה אחזור הודעות שבתוך טווח ערכים ההודעה שצוין. GetMessage לא אחזור הודעות עבור windows השייכים הליכי משנה או יישומים אחרים.

(BOOL GetMessage LPMSG  lpMsg, / / כתובת של מבנה עם הודעהHWNDhWnd, / / לטפל של חלוןUINTwMsgFilterMin, / / תחילה הודעהUINTwMsgFilterMax / / הודעה אחרונה);
 

פרמטרים

lpMsg
מצביע למבנה MSG המקבל מידע ההודעה מתור ההודעות של הליך המשנה.
hWnd
לטפל אל חלון ההודעות הן שיש לאחזר. ערך אחד יש משמעות מיוחדת:
ערך משמעות
NULL GetMessage אחזור הודעות עבור כל חלון שאליו משתייך הליך המשנה הקורא ו שרשור הודעות שהוצבו הליך המשנה הקורא דרך PostThreadMessage.

wMsgFilterMin
מציין את הערך השלם של הערך הנמוך ביותר של הודעה שיש לאחזר.
wMsgFilterMax
מציין את הערך השלם של הערך הגבוה ביותר שיש לאחזר הודעה.

להחזיר ערכים

אם הפונקציה מאחזר הודעה שאינה WM_QUIT, ערך ההחזרה הוא שונה מאפס.

אם הפונקציה אחזור הודעת WM_QUIT, הערך המוחזר הוא אפס.

אם קיימת שגיאה, הערך המוחזר הוא-1. לדוגמה, הפעולה תיכשל אם hWnd הוא המזהה הייחודי חלון לא חוקי או lpMsg הוא מצביע לא חוקי. כדי לקבל מידע שגיאות מורחב, לקרוא GetLastError.

הערות

יישום משתמש בדרך כלל הערך המוחזר כדי לקבוע אם לסיים את הלולאה המסר העיקרי, צא מהתוכנית.

הפונקציה GetMessage מאחזר רק ההודעות המשויך החלון המזוהה על-ידי הפרמטר hWnd או אחד מצאצאיו, כפי שצוין על-ידי הפונקציה IsChild , ובתוך טווח הערכים הודעה שניתן על-ידי פרמטרים wMsgFilterMin ו- wMsgFilterMax . אם hWnd הוא NULL, GetMessage אחזור הודעות עבור כל חלון שאליו משתייך הליך המשנה הקורא ו שרשור הודעות שהוצבו הליך המשנה הקורא דרך PostThreadMessage. GetMessage לא אחזור הודעות עבור windows השייכים הליכי משנה אחרים ולא עבור הליכי משנה שאינה הליך המשנה הקורא, גם אם hWnd אינו NULL. שרשור הודעות שהוצבו על-ידי הפונקציה PostThreadMessage , יש לערך hWnd הודעת NULL. אם wMsgFilterMin ו- wMsgFilterMax הם שני אפס, GetMessage מחזירה כל ההודעות זמינות (כלומר, אין טווח סינון מתבצע).

ניתן להשתמש בקבועים WM_KEYFIRST ו- WM_KEYLAST בתור ערכי מסנן כדי לאחזר כל ההודעות הקשורות קלט של לוח מקשים; ניתן להשתמש בקבועים WM_MOUSEFIRST ו- WM_MOUSELAST כדי לאחזר את כל ההודעות של העכבר. אם הפרמטרים wMsgFilterMin ו- wMsgFilterMax הם אפס, הפונקציה GetMessage תחזיר כל הודעות (כלומר, ללא ביצוע כל סינון).

GetMessage אינה מסירה הודעות WM_PAINT מהתור. ההודעות נשארות בתור עד סיום עיבוד.

הערה הערך המוחזר של הפונקציה יכולה להיות שונה מאפס, אפס, או-1. לכן, עליך להימנע קוד כזה:

בזמן (GetMessage-(lpMsg, hWnd, 0, 0))... 

 

האפשרות של ערך ההחזרה-1 פירושה קוד כזה יכול להוביל שגיאות יישומים קטלנית.

QuickInfo

nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:דורש גירסה 1.0 ואילך.
כותרת עליונה:להצהיר על winuser.h.
ייבוא ספריית:השתמש user32.lib.
Unicode:מיושם על גירסאות Unicode ו- ANSI ב- Windows NT.

ראה גם

הודעות ודיוקן תורי הודעות, PostMessage, PostThreadMessage, של ההודעה ופונקציות תור הודעות, IsChild, MSG, PeekMessage, WaitMessage

Index