PeekMessage

הפונקציה PeekMessage בודק תור ההודעות הליך המשנה עבור הודעה וממקם את ההודעה (אם בכלל) במבנה שצוין.

(BOOL PeekMessage LPMSG  lpMsg, / / מצביע למבנה עבור הודעהHWNDhWnd, / / לטפל לחלוןUINTwMsgFilterMin, / / תחילה הודעהUINTwMsgFilterMax, / / הודעה אחרונהUINTwRemoveMsg / / הסרת דגלים);
 

פרמטרים

lpMsg
מצביע למבנה MSG המקבל מידע ההודעה.
hWnd
לטפל אל חלון ההודעות הן להיבדק.
wMsgFilterMin
מציין את הערך של ההודעה הראשונה בטווח של הודעות להיבדק.
wMsgFilterMax
מציין את הערך של ההודעה האחרונה בטווח של הודעות להיבדק.
wRemoveMsg
ציון אופן הטיפול של הודעות. פרמטר זה יכול להיות אחד מהבאים:
ערך משמעות
PM_NOREMOVE הודעות הן לא הוסרה מהתור לאחר העיבוד על-ידי PeekMessage.
PM_REMOVE הודעות יוסרו מהתור לאחר העיבוד על-ידי PeekMessage.

באופן אופציונלי, באפשרותך לשלב את הערך PM_NOYIELD עם PM_NOREMOVE או PM_REMOVE. דגל זה מניעת המערכת שחרור כל הליך משנה הוא מחכה הקורא לעבור סרק (ראה WaitForInputIdle).

כברירת מחדל, כל סוגי הודעות יעובדו. כדי לציין את אפשרות לעבד הודעה מסוימים בלבד, ציין אחת או יותר מהערכים הבאים:
ערך משמעות
PM_QS_INPUT Windows NT 5.0 ו- Windows 98: עיבוד ההודעות בעכבר ובלוח המקשים.
PM_QS_PAINT Windows NT 5.0 ו- Windows 98: תהליך צביעה הודעות.
PM_QS_POSTMESSAGE Windows NT 5.0 ו- Windows 98: לעבד כל הודעות שהוצבו, לרבות שעוני עצר מקשי הקיצור.
PM_QS_SENDMESSAGE Windows NT 5.0 ו- Windows 98: תהליך כל שליחת הודעות.

להחזיר ערכים

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

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

הערות

שלא כמו הפונקציה GetMessage , הפונקציה PeekMessage אינה ממתינה עד הודעה להציב בתור לפני החזרה.

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

ניתן להשתמש בקבועים WM_KEYFIRST ו- WM_KEYLAST בתור ערכי מסנן כדי לאחזר כל ההודעות מקשים; ניתן להשתמש בקבועים WM_MOUSEFIRST ו- WM_MOUSELAST כדי לאחזר את כל ההודעות של העכבר.

הפונקציה PeekMessage בדרך כלל אינה מסירה הודעות WM_PAINT מהתור. הודעות WM_PAINT נשארות בתור עד הם מעובדים. עם זאת, אם הודעה WM_PAINT יש אזור עדכון null, PeekMessage להסיר אותו מהתור.

חלונות CE: הודעות WM_PAINT לאזור עדכון null אינם מוסרים מן התור.

QuickInfo

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

ראה גם

הודעות ודיוקן תורי הודעות, הודעה ופונקציות תור הודעות, GetMessage, IsChild, MSG, WaitForInputIdle, WaitMessage

Index