HOWTO: bật/tắt NUM LOCK, CAPS LOCK và SCROLL LOCK

Tóm tắt

Tài liệu hướng dẫn dành cho SetKeyboardState () cho biết chính xác bạn không thể sử dụng API này để chuyển đổi NUM LOCK, CAPS LOCK và phím SCROLL LOCK. Bạn có thể sử dụng keybd_event () để chuyển đổi phím NUM, CAPS LOCK và SCROLL LOCK trong Windows NT. Kỹ thuật tương tự hoạt động với khóa CAPS và khóa cuộn tròn bên dưới Windows 95, nhưng nó sẽ không hoạt động cho NUM LOCK.

Thông tin Bổ sung

Chương trình mẫu sau đây sẽ chuyển ánh sáng NUM LOCK vào nếu nó bị tắt. Hàm SetNumLock được xác định ở đây mô phỏng cách nhấn phím NUM LOCK, sử dụng keybd_event () bằng khóa VK_NUMLOCK. Phải mất một giá trị boolean cho biết ánh sáng cần được tắt (FALSE) hoặc bật (TRUE). Có thể sử dụng cùng một kỹ thuật cho khóa CAPS LOCK (VK_CAPITAL) và phím SCROLL LOCK (VK_SCROLL).

Mã mẫu

   /* 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 );   }

Bạn cần thêm trợ giúp?

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×