ข้อความ WM_SYSKEYUP ถูกลงรายการบัญชีในหน้าต่างด้วยการโฟกัสของแป้นพิมพ์เมื่อผู้ใช้ออกคีย์ที่ถูกกดในขณะที่แป้น alt ถูกค้างไว้ มันยังเกิดเมื่อไม่มีหน้าต่างปัจจุบันมีโฟกัสของแป้นพิมพ์ ในกรณีนี้ WM_SYSKEYUP ข้อความจะถูกส่งไปยังหน้าต่างที่ใช้งานอยู่ หน้าต่างที่ได้รับข้อความสามารถแยกแยะระหว่างบริบทเหล่านี้สองโดยการตรวจสอบรหัสบริบทในพารามิเตอร์lKeyData.
WM_SYSKEYUP nVirtKey = (int) wParam / / เสมือนคีย์รหัส lKeyData = lParam / / คีย์ข้อมูล
ค่า | คำอธิบาย |
---|---|
015 | ระบุจำนวนซ้ำสำหรับข้อความปัจจุบัน ค่าเป็นจำนวนครั้งที่มีการกดแป้นที่ auto-ซ้ำเป็นผลลัพธ์ของผู้ใช้แป้นค้างไว้ นับซ้ำอยู่เสมออย่างใดอย่างหนึ่งสำหรับข้อความ WM_SYSKEYUP. |
1623 | ระบุรหัสสแกน ค่าขึ้นกับผู้ผลิตอุปกรณ์ดั้งเดิม (OEM). |
24 | ระบุว่า หมายเลข คีย์การขยาย เช่น alt ขวาและแป้น ctrl ที่ปรากฏบนแป้นพิมพ์ขั้นสูง 101-102-คีย์ หรือการ มีค่าเป็น 1 ถ้าเป็นคีย์การขยาย มิฉะนั้น เป็น 0. |
2528 | สงวน ไม่ได้ใช้. |
29 | ระบุรหัสบริบท มีค่าเป็น 1 ถ้าเป็นแป้น ALT ลงในขณะที่ปุ่มออก เป็น 0 ถ้าข้อความ WM_SYSKEYDOWN ถูกลงรายการบัญชีไปยังหน้าต่างที่ใช้งานได้เนื่องจากไม่มีหน้าต่างมีโฟกัสของแป้นพิมพ์. |
30 | ระบุคีย์สถานะก่อนหน้า มีค่าเป็น 1 สำหรับความ WM_SYSKEYUP เสมอ. |
31 | ระบุสถานะช่วงการเปลี่ยนภาพ มีค่าเป็น 1 สำหรับความ WM_SYSKEYUP เสมอ. |
แอปพลิเคชันควรกลับศูนย์ถ้าดำเนินกับข้อความนี้.
ฟังก์ชันDefWindowProcส่งข้อความWM_SYSCOMMANDไปยังหน้าต่างระดับบนสุดถ้าปุ่ม f10 หรือคีย์ alt แพร่ พารามิเตอร์wParamของข้อความถูกตั้งค่าเป็น SC_KEYMENU.
เมื่อรหัสบริบทเป็นศูนย์ ข้อความสามารถถูกส่งผ่านไปยังฟังก์ชันTranslateAcceleratorซึ่งจะจัดการกับมันเหมือนข้อความสำคัญปกติแทนที่เป็นของคีย์อักขระข้อความ นี้ทำให้คีย์ลัดไปใช้ได้กับหน้าต่างที่ใช้งานแม้ว่าหน้าต่างที่ใช้งานอยู่ไม่มีโฟกัสของแป้นพิมพ์.
สำหรับแป้นพิมพ์ขั้นสูง 101-102-คีย์ และ ขยายคีย์คือ ctrl + spacebar และแป้น ctrl ในส่วนหลักของแป้นพิมพ์ ins, del บ้าน จบ หน้าขึ้น เพลง และแป้นลูกศรในคลัสเตอร์อยู่ทางซ้ายของแป้นพิมพ์ตัวเลข และการหาร (/) และป้อนคีย์ในแป้นพิมพ์ตัวเลข แป้นพิมพ์อื่นอาจรองรับบิตการขยายคีย์ในพารามิเตอร์lKeyData.
สำหรับแบบสหรัฐฯ เพิ่มขึ้น 102-แป้นคีย์บอร์ด แป้น alt ขวาถูกจัดการเป็นแบบ ctrl + แป้น alt ตารางต่อไปนี้แสดงลำดับของข้อความที่ส่งผลให้เมื่อผู้ใช้กด และรุ่นคีย์นี้.
ข้อความ | รหัสคีย์เสมือน |
---|---|
WM_KEYDOWN | VK_CONTROL |
WM_KEYDOWN | VK_MENU |
WM_KEYUP | VK_CONTROL |
WM_SYSKEYUP | VK_MENU |
nbsp Windows &NT:ต้องการเวอร์ชัน 3.1 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ต้องการเวอร์ชัน 1.0 หรือรุ่นใหม่กว่า
หัวข้อ:ประกาศใน winuser.h.
ภาพรวมการป้อนข้อมูลของแป้นพิมพ์ข้อความการป้อนข้อมูลของแป้นพิมพ์ DefWindowProc, TranslateAccelerator, WM_SYSCOMMAND, WM_SYSKEYDOWN