Функция GetKeyboardType

Declare Function GetKeyboardType Lib "user32" (ByVal nTypeFlag As Long) As Long

GetKeyboardType получает информацию об используемой клавиатуре

Возвращаемое значение

В случае ошибки возвращается 0. В успешном случае возвращаются различные значения, в зависимости от запроса.
При флаге nTypeFlag = 0
1 - 83-клавишная клавиатура для IBM PC/XT -совместимых компьютеров
2 - 102-клавишная клавиатура Olivetti
3 - IBM PC/AT -совместимая клавиатура (84клавиши)
4 - Расширенная IBM-клавиатура (101- или 102 клавиши)
5 - Клавиатура Nokia 1050
6 - Клавиатура Nokia 9140
7 - Японская клавиатура

При флаге nTypeFlag = 1 может возвращаться любое значение, в зависимости от производителя
При флаге nTypeFlag = 2 можно определить число функциональных клавиш

1 - 10 клавиш
2 - 12 или 18 клавиш
3 - 10 клавиш
4 - 12 клавиш
5 - 10 клавиш
6 - 24 клавиш
7 - Зависит от производителя

Параметры

nTypeFlag
Тип получаемой информации. Может принимать одно из следующих значений
0 - тип клавиатуры
1 - Подтип клавиатуры
2 - Число функциональных клавиш на клавиатуре

Пример

Dim t As String
Dim klava As Long
klava = GetKeyboardType(0)
If klava = 1 Then t = "PC or compatible 83-key keyboard"
If klava = 2 Then t = "Olivetti 102-key keyboard"
If klava = 3 Then t = "AT or compatible 84-key keyboard"
If klava = 4 Then t = "Enhanced(IBM) 101-102-key keyboard"
If klava = 5 Then t = "Nokia 1050 keyboard"
If klava = 6 Then t = "Nokia 9140 keyboard"
If klava = 7 Then t = "Japanese keyboard"
MsgBox "Тип клавиатуры : " & t

Смотри также

ActivateKeyboardLayout, LoadKeyboardLayout

Категория

Клавиатура