Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Const KEYEVENTF_EXTENDEDKEY = &H1 Const KEYEVENTF_KEYUP = &H2 Const VK_CAPITAL = &H14 Const VK_SCROLL = &H91 Private Sub Command1_Click() Dim Numlockstate As Boolean Dim keys(0 To 255) As Byte Numlockstate = keys(VK_CAPITAL) If Numlockstate <> True Then keybd_event VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0 keybd_event VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 End If End Sub Private Sub Command2_Click() Dim Numlockstate As Boolean Dim keys(0 To 255) As Byte Numlockstate = keys(VK_SCROLL) If Numlockstate <> True Then keybd_event VK_SCROLL, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0 keybd_event VK_SCROLL, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 End If End Sub