Rubrik: Maus & Tastatur · Tastatursteuerung | VB-Versionen: VB4, VB5, VB6 | 11.07.02 |
NUM-Lock ein/ausschalten Mit der universellen keybd_event API-Funktion lässt sich auch die NUM-Lock Taste per VB-Code ein- und ausschalten. | ||
Autor: Dieter Otter | Bewertung: | Views: 37.110 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Vor ziemlich langer Zeit haben wir Ihnen gezeigt, wie man prüft, ob die CAPS-Lock bzw. NUM-Lock Taste aktiviert ist. Kurz darauf haben wir noch einen Tipp veröffentlicht, mit sich die CAPS-Lock Taste gezielt per VB-Code ansprechen lässt.
Dieser Code funktioniert jedoch nicht für das Ein- bzw. Ausschalten der NUM-Lock Taste.
Mit der universellen keybd_event API-Funktion lässt aber auch dieser Wunsch erfüllen
' benötigte API-Deklarationen Private Declare Sub keybd_event Lib "user32" ( _ ByVal bVk As Byte, _ ByVal bScan As Byte, _ ByVal dwFlags As Long, _ ByVal dwExtraInfo As Long) Private Const VK_NUMLOCK = &H90 Private Const KEYEVENTF_KEYUP = &H2
' NUM-Lock drücken ' Zunächst niederdrücken und dann wieder loslassen keybd_event VK_NUMLOCK, 1, 0, 0 keybd_event VK_NUMLOCK, 1, KEYEVENTF_KEYUP, 0
In Verbindung mit dem Tipp CAPS-/NUM-Lock prüfen lässt sich also gezielt NUM-Lock ein- bzw. ausschalten:
' NUM-Lock aktivieren (falls deaktiviert) If Not (GetKeyState(vbKeyNumlock) = 1) Then keybd_event VK_NUMLOCK, 1, 0, 0 keybd_event VK_NUMLOCK, 1, KEYEVENTF_KEYUP, 0 End If
' NUM-Lock deaktivieren (falls aktiviert) If (GetKeyState(vbKeyNumlock) = 1) Then keybd_event VK_NUMLOCK, 1, 0, 0 keybd_event VK_NUMLOCK, 1, KEYEVENTF_KEYUP, 0 End If