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

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?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?

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

×