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?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.