15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Как узнать состояние клавиш NumLock и CapsLock

Этот пример демонстрирует, как определить состояние клавиш NumLock и CapsLock (а так же сосотояние других клавишь на клавиатуре в это же время).

Создайте новый проект, и добавьте на форму проекта Label и Timer. Установите интервал таймера в 250, а затем добаьте следующий код:

Private Declare Function GetKeyboardState Lib "user32" (pbKeyState As Byte) As Long

Private Sub Timer1_Timer()
Dim b(0 To 254) As Byte
Dim sMsg As String
    GetKeyboardState b(0)
    If b(vbKeyNumlock) Then
        sMsg = "NUM"
    End If
    If b(vbKeyCapital) Then
        sMsg = sMsg & " CAPS"
    End If
    If (Label1.Caption <> sMsg) Then
        Label1.Caption = sMsg
    End If
End Sub

После запуска вышеприведённого кода, в label появится текущее состояние Caps и Num Lock.