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ไม่ว่าง เธรดข้อความ การลงรายการบัญชี โดยฟังก์ชัน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 หรือรุ่นที่ใหม่กว่า
Windows CE:ต้องการเวอร์ชัน 1.0 หรือรุ่นใหม่กว่า
หัวข้อ:ประกาศใน winuser.h
ไลบรารีที่นำเข้า:ใช้ user32.lib
Unicode:นำมาใช้เป็น Unicode และ ANSI รุ่นบน Windows NT.

ดูเพิ่มเติม

ข้อความและภาพรวมของคิวข้อความการPostMessage, PostThreadMessageข้อความและฟังก์ชันคิวข้อความ IsChild, MSG, PeekMessage, WaitMessage

Index