ฟังก์ชันPeekMessageตรวจสอบคิวข้อความหัวข้อสำหรับข้อความ และวางข้อความ (ถ้ามี) ในโครงสร้างที่ระบุ.
(BOOL PeekMessage LPMSG lpMsg, / / ชี้ไปยังโครงสร้างสำหรับข้อความHWNDhWnd, / / จัดการหน้าต่างUINTwMsgFilterMin, / / ข้อความแรกUINTwMsgFilterMax, / / ข้อความล่าสุดUINTwRemoveMsg / / เอาค่าสถานะ);
| ค่า | ความหมาย |
|---|---|
| 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: ข้อความขั้นตอนทั้งหมดที่ลงรายการบัญชี การรวมตัวจับเวลาและ hotkeys. |
| 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ออกจากคิว.
Windows CE: WM_PAINT ข้อความในขอบเขตของการปรับปรุงค่า null จะไม่ถูกเอาออกจากคิว.
nbsp Windows &NT:ต้องการเวอร์ชัน 3.1 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ต้องการเวอร์ชัน 1.0 หรือรุ่นใหม่กว่า
หัวข้อ:ประกาศใน winuser.h
ไลบรารีที่นำเข้า:ใช้ user32.lib
Unicode:นำมาใช้เป็น Unicode และ ANSI รุ่นบน Windows NT.
ข้อความและภาพรวมของคิวข้อความข้อความและฟังก์ชันคิวข้อความ GetMessage, IsChild, MSG, WaitForInputIdle, WaitMessage