Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As _ Long Private Const KEYEVENTF_KEYUP = &H2 Sub SetNumLockKey(ByVal newState As Boolean) ' if the current state must be changed If CBool(GetKeyState(vbKeyNumlock)) <> newState Then ' programmatically press and release the NumLock key keybd_event vbKeyNumlock, 0, 0, 0 keybd_event vbKeyNumlock, 0, KEYEVENTF_KEYUP, 0 End If End Sub |