AW: NUM LOCK
16.08.2003 12:48:45
Hajo_Zi
Hallo oschiewek
Rainer hat ja schon ausführlich geantwortet aber hier auch noch was aus meinem Archiv
[VBA] NumLock über VBA abfragen
versuch's mal mit folgendem API (muss am Anfang eines Moduls stehen)
Const VK_NUMLOCK = &H90
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
Private kbArray As KeyboardBytes
Private Declare
Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Private Declare
Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Sub Numlock_aus()
GetKeyboardState kbArray
If kbArray.kbByte(VK_NUMLOCK) = 1 Then
MsgBox "Numlock ist eingeschaltet.", vbOKOnly + vbInformation, "Eingeschaltet"
Else
MsgBox "Numlock ist ausgeschaltet.", vbOKOnly + vbInformation, "Ausgeschaltet"
End If
kbArray.kbByte(VK_NUMLOCK) = 0
SetKeyboardState kbArray
End Sub
von Jörg Lorenz
[VBA] Numlock ein-/ausschalten
versuch's mal mit folgendem API (muss am Anfang eines Moduls stehen):
Const VK_NUMLOCK = &H90
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
Private kbArray As KeyboardBytes
Private Declare
Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Private Declare
Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Sub Numlock_ein()
GetKeyboardState kbArray
kbArray.kbByte(VK_NUMLOCK) = 1
SetKeyboardState kbArray
End Sub
Sub Numlock_aus()
GetKeyboardState kbArray
kbArray.kbByte(VK_NUMLOCK) = 0
SetKeyboardState kbArray
End Sub
Sub Numlock_umkehren()
GetKeyboardState kbArray
kbArray.kbByte(VK_NUMLOCK) = IIf(kbArray.kbByte(VK_NUMLOCK) = 1, 0, 1)
SetKeyboardState kbArray
End Sub
von Jörg Lorenz
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.