HERBERS Excel-Forum - die Beispiele

Thema: Aus- und Einlesen der NumLock-, CapsLock und ScrollLock-Tasten

Home

Gruppe

API

Problem

Wie kann ich den Status der NumLock-, CapsLock und ScrollLock-Tasten über UserForm-CheckBoxes auslesen und setzen?

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.
ClassModule: frmLock

Private Sub cmdCancel_Click()
   Unload Me
End Sub

Private Sub cmdOK_Click()
   Dim var As Variant
   Dim intNum As Integer, intCap As Integer, intScroll As Integer
   If chkNum.Value = True Then intNum = 1 Else intNum = 0
   If chkCap.Value = True Then intCap = 1 Else intCap = 0
   If chkScroll.Value = True Then intScroll = 1 Else intScroll = 0
   var = SetKeys(intNum, intCap, intScroll)
   Unload Me
End Sub

Private Sub UserForm_Click()

End Sub

Private Sub UserForm_Initialize()
   Dim intNum As Integer, intCap As Integer, intScroll As Integer
   intNum = GetKeyState(VK_NUMLOCK)
   intCap = GetKeyState(VK_CAPITAL)
   intScroll = GetKeyState(VK_SCROLL)
   If intNum = 1 Then chkNum.Value = True Else chkNum = False
   If intCap = 1 Then chkCap.Value = True Else chkCap = False
   If intScroll = 1 Then chkScroll.Value = True Else chkScroll = False
End Sub

StandardModule: basMain

Public Const VK_NUMLOCK = &H90
Public Const VK_CAPITAL = &H14
Public Const VK_SCROLL = &H91

Private Type KeyboardBytes
  kbByte(0 To 255) As Byte
End Type

Public kbArray As KeyboardBytes

Public Declare Function GetKeyState Lib "user32" _
    (ByVal nVirtKey As Long) As Integer

Public Declare Function SetKeyboardState Lib "user32" _
    (kbArray As KeyboardBytes) As Long
    
Sub CallSetKeys()
   frmLock.Show
End Sub

Function SetKeys( _
   intNumLockKey As Integer, _
   intCapLockKey As Integer, _
   intScrollLockKey As Integer)
  With kbArray
    .kbByte(VK_NUMLOCK) = intNumLockKey
    .kbByte(VK_CAPITAL) = intCapLockKey
    .kbByte(VK_SCROLL) = intScrollLockKey
  End With
  SetKeyboardState kbArray
End Function

Beiträge aus dem Excel-Forum zu den Themen API und Tastatur

Excel to Word Kapitel VBA Anfangskapital berechnen
Gestapelte Säulen-Diagramm: Ich kapier's nicht Googel Maps API in Excel VBA einfügen
Berechnung vom Endkapital Zusätzliches Tastaturkürzel
API? - xl-Parameter aus Long-Wert bestimmen Berechnung Kapitalanlage
Tastatur Bedienung Telefonnummer auslesen per TAPI
Läuft RSAPI.DLL mit WIN2000 und XP? Tastatureingabe
JAVA API mit VBA verwenden Reagieren auf Tastaturereignisse
Tastaturlayout > 2 Sprachen - Belegung feststellen Tastaturverzögerung ändern
spaltenweises Wechseln des Tastaturlayouts integrierte Zahlentastatur deaktivieren
Tastatur sperren ?? Zahlentastatur
Papierformat speichern verschiedene Papierquele beim Drucken
Entnahme mit Kapitalverzehr Berechnung Endkapital / Zinsen
Druck auf Papier und PDF mit und ohne Logo Frage zur RSAPI.DLL
Problem nach DDE - Tastatur blockiert Kombination Seitenumbruch Papierformat Anpassen
Hilfe bei der Fehlersuche (API) Tastatursteuerung
Frage zu XKAPITALWERT API-Zugriff
Endkapital? bei unterschiedlichen Zahlungen Eingabe von Sonderzeichen über Tastatur
API für Tastaturpuffer auslesen API für Tastaturpuffer auslesen
Gültigkeitslisten per Tastatur ? Beispiel Verwendung WINAPI...
Hallo Herbert (wg Ansichtswechsel mit Tastatur) Zellen wie Milimeterpapier skalieren
Tastatur statt Maus Tastatur statt Maus
"aufziehen" mit Tastatur Makro bricht ab bei Range("Capital_Charge").Select
API-Timer Problem Tastatur verstellt?
Tastaturabfrage VBA und API
Tastaturkürzel in Userform mit Tastaturkürzel Eingabe ändern und zurück