WM_SYSKEYDOWN

ข้อความ WM_SYSKEYDOWN ถูกลงรายการบัญชีในหน้าต่างด้วยการโฟกัสของแป้นพิมพ์เมื่อผู้ใช้กดปุ่ม F10 (ซึ่งเรียกใช้แถบเมนู) หรือ holds alt ที่ค้างคีย์ และจากนั้น กดแป้นอีกแป้น มันยังเกิดเมื่อไม่มีหน้าต่างปัจจุบันมีโฟกัสของแป้นพิมพ์ ในกรณีนี้ WM_SYSKEYDOWN ข้อความจะถูกส่งไปยังหน้าต่างที่ใช้งานอยู่ หน้าต่างที่ได้รับข้อความสามารถแยกแยะระหว่างบริบทเหล่านี้สองโดยการตรวจสอบรหัสบริบทในพารามิเตอร์lKeyData.

WM_SYSKEYDOWN nVirtKey = (int) wParam    / / เสมือนคีย์รหัส lKeyData = lParam          / / คีย์ข้อมูล 

 

พารามิเตอร์

nVirtKey
ค่าของwParam ระบุรหัสคีย์เสมือนการกดคีย์.
lKeyData
ค่าของlParam ระบุจำนวนการทำซ้ำ สแกนโค้ด ขยายคีย์การตั้งค่าสถานะ บริบทรหัส ธงคีย์สถานะก่อนหน้า และสถานะการเปลี่ยนธง ชาติ ดังที่แสดงในตารางต่อไปนี้.
ค่า คำอธิบาย
0–15 ระบุจำนวนซ้ำสำหรับข้อความปัจจุบัน ค่าเป็นจำนวนครั้งที่มีการกดแป้นที่ auto-ซ้ำเป็นผลลัพธ์ของผู้ใช้แป้นค้างไว้ ถ้ากดแป้นพิมพ์ถูกเก็บไว้นานพอ หลายข้อความจะถูกส่งไป อย่างไรก็ตาม นับซ้ำไม่สะสม.
16–23 ระบุรหัสสแกน ค่าขึ้นกับผู้ผลิตอุปกรณ์ดั้งเดิม (OEM).
24 ระบุว่า หมายเลข คีย์การขยาย เช่น alt ขวาและแป้น ctrl ที่ปรากฏบนแป้นพิมพ์ขั้นสูง 101-102-คีย์ หรือการ มีค่าเป็น 1 ถ้าเป็นคีย์การขยาย มิฉะนั้น เป็น 0.
25–28 สงวน ไม่ได้ใช้.
29 ระบุรหัสบริบท มีค่าเป็น 1 ถ้าเป็นแป้น ALT ลงในขณะที่มีกดปุ่ม เป็น 0 ถ้าข้อความ WM_SYSKEYDOWN ถูกลงรายการบัญชีไปยังหน้าต่างที่ใช้งานได้เนื่องจากไม่มีหน้าต่างมีโฟกัสของแป้นพิมพ์.
30 ระบุคีย์สถานะก่อนหน้า มีค่าเป็น 1 ถ้าคีย์การลงก่อนที่จะส่งข้อความ หรือเป็น 0 ถ้าคีย์การขึ้น.
31 ระบุสถานะช่วงการเปลี่ยนภาพ มีค่าเป็น 0 สำหรับความ WM_SYSKEYDOWN เสมอ.

ส่งกลับค่า

แอปพลิเคชันควรกลับศูนย์ถ้าดำเนินกับข้อความนี้.

การกระทำเริ่มต้น

ฟังก์ชันDefWindowProcการตรวจสอบคีย์ที่กำหนด และสร้างข้อความWM_SYSCOMMANDถ้าแป้นถูกแท็บใดแท็บหนึ่ง หรือป้อน.

หมายเหตุ

เมื่อรหัสบริบทเป็นศูนย์ ข้อความสามารถถูกส่งผ่านไปยังฟังก์ชันTranslateAcceleratorซึ่งจะจัดการกับมันเหมือนข้อความสำคัญปกติแทนที่เป็นของคีย์อักขระข้อความ นี้ทำให้คีย์ลัดไปใช้ได้กับหน้าต่างที่ใช้งานแม้ว่าหน้าต่างที่ใช้งานอยู่ไม่มีโฟกัสของแป้นพิมพ์.

เนื่องจากการทำซ้ำอัตโนมัติ ข้อความ WM_SYSKEYDOWN มากกว่าหนึ่งอาจเกิดขึ้นก่อนที่จะส่งข้อความ WM_SYSKEYUP สถานะคีย์ก่อนหน้า (บิต 30) คุณสามารถใช้เพื่อกำหนดว่า ข้อความ WM_SYSKEYDOWN บ่งชี้ลงก่อนช่วงการเปลี่ยนภาพหรือช่วงการเปลี่ยนภาพซ้ำลง.

สำหรับแป้นพิมพ์ขั้นสูง 101-102-คีย์ และ ปรับปรุงคีย์คือ ctrl + spacebar และแป้น ctrl ในส่วนหลักของแป้นพิมพ์ ins, del บ้าน จบ หน้าขึ้น เพลง และแป้นลูกศรในคลัสเตอร์อยู่ทางซ้ายของแป้นพิมพ์ตัวเลข และการหาร (/) และป้อนคีย์ในแป้นพิมพ์ตัวเลข แป้นพิมพ์อื่นอาจรองรับบิตการขยายคีย์ในพารามิเตอร์lParam.

คือยังมีส่งข้อความนี้เมื่อใดก็ ตามที่ผู้ใช้กด F10 คีย์โดยแป้น ALT.

QuickInfo

nbsp Windows &NT:ต้องการเวอร์ชัน 3.1 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ต้องการเวอร์ชัน 1.0 หรือรุ่นใหม่กว่า
หัวข้อ:ประกาศใน winuser.h.

ดูเพิ่มเติม

ภาพรวมการป้อนข้อมูลของแป้นพิมพ์ข้อความการป้อนข้อมูลของแป้นพิมพ์ DefWindowProc, TranslateAccelerator, WM_SYSCOMMAND, WM_SYSKEYUP

Index