Rubrik: Maus & Tastatur · Tastatursteuerung | VB-Versionen: VB4, VB5, VB6 | 07.05.04 |
CAPS-Lock ein/ausschalten II Mit der universellen keybd_event API-Funktion lässt sich die CAPS-Lock Taste auch unter Win2000/XP per VB-Code ein- und ausschalten. | ||
Autor: Dieter Otter | Bewertung: | Views: 22.306 |
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 per Code die CAPS-Lock-Taste ein/ausschalten kann. Dieser Code funktionierte allerdings nur unter Windows 95/98/ME. Unser heutiger Tipp zeigt eine Variante, mit der sich die CAPS-Lock-Taste auch unter WinNT/2000/XP ein- bzw. ausschalten lässt.
' 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_CAPITAL = &H14 Private Const KEYEVENTF_KEYUP = &H2
' CAPS-Lock drücken ' Zunächst niederdrücken und dann wieder loslassen keybd_event VK_CAPITAL, 1, 0, 0 keybd_event VK_CAPITAL, 1, KEYEVENTF_KEYUP, 0
In Verbindung mit dem Tipp CAPS-/NUM-Lock prüfen lässt sich also gezielt CAPS-Lock ein- bzw. ausschalten:
' CAPS-Lock aktivieren (falls deaktiviert) If Not (GetKeyState(vbKeyCapital) = 1) Then keybd_event VK_CAPITAL, 1, 0, 0 keybd_event VK_CAPITAL, 1, KEYEVENTF_KEYUP, 0 End If
' CAPS-Lock deaktivieren (falls aktiviert) If (GetKeyState(vbKeyCapital) = 1) Then keybd_event VK_CAPITAL, 1, 0, 0 keybd_event VK_CAPITAL, 1, KEYEVENTF_KEYUP, 0 End If