GetKeyboardState

ฟังก์ชันGetKeyboardStateสถานะของคีย์ 256 เสมือนที่คัดลอกการบัฟเฟอร์ที่ระบุ.

(BOOL GetKeyboardState PBYTE  lpKeyState / / ชี้ถึงอาร์เรย์เพื่อรับข้อมูลสถานะ);
 

พารามิเตอร์

lpKeyState
ชี้ไปยังอาร์เรย์ 256 ไบต์ที่จะได้รับข้อมูลสถานะสำหรับแต่ละคีย์เสมือน.

ส่งกลับค่า

ถ้าฟังก์ชันสำเร็จ ค่าส่งกลับจะไม่ใช่ศูนย์.

ถ้าฟังก์ชันล้มเหลว ส่งคืนค่าเป็นศูนย์ การขอเพิ่มเติมข้อมูลข้อผิดพลาด โทร GetLastError.

หมายเหตุ

แอปพลิเคชันสามารถเรียกใช้ฟังก์ชันนี้เพื่อเรียกคืนสถานะปัจจุบันของคีย์เสมือนทั้งหมด การเปลี่ยนแปลงสถานะเป็นด้ายเอาแป้นพิมพ์ข้อความจากคิวของข้อความ สถานะเปลี่ยนเป็นข้อความแป้นพิมพ์ถูกลงรายการบัญชีไปยังคิวข้อความของเธรด หรือไม่ก็เปลี่ยนเป็นแป้นพิมพ์ข้อความที่มีการลงรายการบัญชี หรือเรียกจากคิวข้อความของหัวข้ออื่น ๆ (ข้อยกเว้น: หัวข้อที่มีการเชื่อมต่อผ่าน AttachThreadInputสถานะแป้นพิมพ์เดียวกันที่ใช้ร่วมกัน)

เมื่อฟังก์ชันจะส่งกลับ แต่ละสมาชิกของอาร์เรย์ชี้ไปตามพารามิเตอร์lpKeyStateมีข้อมูลสถานะสำหรับคีย์แบบเสมือน ถ้าบิตการลำดับสูง 1 คีย์จะลง มิฉะนั้น จะขึ้น ถ้าบิตการลำดับต่ำคือ 1 คีย์คือ toggled คีย์ เช่นตัวพิมพ์ใหญ่ล็อกคีย์ คือ toggled ถ้าเปิดอยู่ คีย์ที่ปิดอยู่ และ untoggled ถ้าบิตการต่ำลำดับเป็น 0 การสลับคีย์ของไฟ (ถ้ามี) บนแป้นพิมพ์จะเมื่อปุ่มถูก toggled และ ปิดเมื่อคีย์ที่เป็น untoggled.

ใช้ฟังก์ชันGetKeyStateในการเรียกข้อมูลสถานะสำหรับคีย์การละ ใช้ฟังก์ชันGetAsyncKeyStateเพื่อเรียกคืนสถานะปัจจุบันสำหรับคีย์แต่ละการคำนึงว่าข้อความที่สอดคล้องกันของแป้นพิมพ์ที่ถูกเรียกจากคิวข้อความ

แอปพลิเคชันสามารถใช้ค่าคงที่เสมือนคีย์รหัส VK_SHIFT, VK_CONTROL และ VK_MENU เป็นดัชนีลงในอาร์เรย์ที่ชี้ไปตามlpKeyState ซึ่งทำให้สถานะของกะ ctrl หรือคีย์ alt โดยไม่แยกระหว่างซ้ายและขวา โปรแกรมประยุกต์ยังสามารถใช้ค่าคงเสมือนคีย์รหัสต่อไปนี้เป็นดัชนีเพื่อแยกความแตกต่างระหว่างอินสแตนซ์ที่ซ้าย และขวาของแป้นเหล่านั้น.

VK_LSHIFT VK_RSHIFT
VK_LCONTROL VK_RCONTROL
VK_LMENU VK_RMENU

ค่าเหล่านี้คงแยกซ้าย และขวาจะพร้อมใช้งานสำหรับโปรแกรมประยุกต์เฉพาะผ่านการGetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyStateและฟังก์ชันMapVirtualKey.

QuickInfo

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

ดูเพิ่มเติม

ภาพรวมการป้อนข้อมูลของแป้นพิมพ์แป้นพิมพ์ป้อนฟังก์ชัน GetKeyState, GetAsyncKeyState, MapVirtualKey, SetKeyboardState

Index