ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

สรุป

เอกสารประกอบสำหรับ SetKeyboardState () ได้อย่างถูกต้องระบุว่าคุณไม่สามารถใช้ API นี้เพื่อสลับ NUM LOCK, CAPS lock และปุ่มล็อกการเลื่อน คุณสามารถใช้ keybd_event () เมื่อต้องการสลับ NUM LOCK, CAPS LOCK และปุ่มเลื่อนล็อกภายใต้ Windows NT เทคนิคเดียวกันทำงานสำหรับสลับ CAPS lock และ SCROLL LOCK ภายใต้ Windows ๙๕แต่จะไม่ทำงานสำหรับ NUM LOCK

ข้อมูลเพิ่มเติม

โปรแกรมตัวอย่างต่อไปนี้จะเปิดใช้งานไฟ NUM LOCK ถ้าปิดอยู่ ฟังก์ชัน SetNumLock ที่กำหนดไว้ที่นี่จะจำลองการกดแป้น NUM LOCK โดยใช้ keybd_event () ที่มีคีย์เสมือนของ VK_NUMLOCK โดยใช้ค่าบูลีนที่ระบุว่าควรปิดไฟ (FALSE) หรือเปิด (TRUE) คุณสามารถใช้เทคนิคเดียวกันสำหรับแป้น CAPS LOCK (VK_CAPITAL) และปุ่มเลื่อนล็อก (VK_SCROLL)

โค้ดตัวอย่าง

   /* Compile options needed:   */    #include <windows.h>   void SetNumLock( BOOL bState )   {      BYTE keyState[256];      GetKeyboardState((LPBYTE)&keyState);      if( (bState && !(keyState[VK_NUMLOCK] & 1)) ||          (!bState && (keyState[VK_NUMLOCK] & 1)) )      {      // Simulate a key press         keybd_event( VK_NUMLOCK,                      0x45,                      KEYEVENTF_EXTENDEDKEY | 0,                      0 );      // Simulate a key release         keybd_event( VK_NUMLOCK,                      0x45,                      KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,                      0);      }   }   void main()   {      SetNumLock( TRUE );   }

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ขยายทักษะของคุณ

สำรวจการฝึกอบรม >

รับฟีเจอร์ใหม่ก่อนใคร

เข้าร่วม MICROSOFT 365 INSIDERS >

ข้อมูลนี้เป็นประโยชน์หรือไม่

คุณพึงพอใจกับคุณภาพภาษาเพียงใด
สิ่งที่ส่งผลต่อประสบการณ์ใช้งานของคุณ

ขอบคุณสำหรับคำติชมของคุณ!

×