HOWTO: Umschalten der Num-Taste, Feststelltaste und Scroll-Taste


Zusammenfassung


Die Dokumentation für SetKeyboardState () besagt richtig, dass Sie diese API nicht verwenden können, um die Tasten Num, Feststelltaste und Scroll zu wechseln. Sie können keybd_event () verwenden, um die Tasten Num, Feststelltaste und Scroll-Taste unter Windows NT umzuschalten. Das gleiche Verfahren funktioniert beim Umschalten der Feststell-und Scroll-Sperre unter Windows 95, wird aber bei der Num-Taste nicht funktionieren.

Weitere Informationen


Mit dem folgenden Beispielprogramm wird die Num-Taste leuchtet, wenn Sie deaktiviert ist. Die hier definierte Funktion SetNumLock simuliert das Drücken der Num-Taste, wobei keybd_event () mit einem virtuellen Schlüssel von VK_NUMLOCK. Es nimmt einen booleschen Wert an, der angibt, ob das Licht deaktiviert (falsch) oder ein (wahr) sein soll. Das gleiche Verfahren kann für die Feststelltaste (VK_CAPITAL) und die Scroll-Sperrtaste (VK_SCROLL) verwendet werden.

Beispiel Code

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