Загальні відомості
Документація для Setkeybobostate () вірно говорить про те, що цей API не можна використовувати для перемикання клавіш NUM LOCK, CAPS LOCK і SCROLL LOCK. За допомогою keybd_event () можна перемикати клавіші NUM LOCK, CAPS LOCK, а також ПРОКРУЧУВАТИ кнопки блокування в розділі Windows NT. Той самий метод працює для блокування несумісних CAPS LOCK і прокручування під Windows 95, але він не працюватиме для 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 );   }