Книга: Программирование КПК и смартфонов на .NET Compact Framework
Наличие дополнительной клавиатуры
Наличие дополнительной клавиатуры
Узнать о наличии в системе подключаемой клавиатуры можно с помощью функции API или просмотрев значение соответствующего ключа в реестре. Использование реестра рассматривалось несколько раньше. В листинге 13.22 приведен код, который показывает, как можно узнать о присутствии подключенной клавиатуры с помощью функции API GetKeyboardStatus
.
Листинг 13.22
/// <summary>
/// Функция возвращает статус подключаемой клавиатуры и ее
/// возможности.
/// </summary>
/// <returns>Функция возвращает битовую маску,
/// показывающую присутствие клавиатуры и ее возможности
/// </returns>
[DllImport("coredll.dll")]
public static extern uint GetKeyboardStatus();
/// <summary>
/// Показывает присутствие клавиатуры в системе
/// </summary>
public const uint KBDI_KEYBOARD_PRESENT = 0x0001;
/// <summary>
/// Показывает доступность клавиатуры.
/// Данный бит может быть изменен функцией
/// EnableHardwareKeyboard
/// </summary>
public const uint KBDI_KEYBOARD_ENABLED = 0x0002;
/// <summary>
/// Показывает наличие на клавиатуре клавиш ENTER и ESC
/// </summary>
public const uint KBDI_KEYBOARD_ENTER_ESC = 0x0004;
/// <summary>
/// Показывает наличие клавиш с буквами и цифрами
/// </summary>
public const uint KBDI_KEYBOARD_ALPHA_NUM = 0x0008;
private void Form1_Load(object sender, EventArgs e) {
MessageBox.Show("Наличие и доступность клавиатуры: " +
IsKeyboard().ToString());
}
private static bool IsKeyboard() {
uint flags = KBDI_KEYBOARD_ENABLED | KBDI_KEYBOARD_PRESENT;
return ((GetKeyboardStatus() & flags) == flags);
}
- Вызов функций Windows API
- Определение платформы
- Пароли
- Перезагрузка КПК
- Еще раз о перезагрузке
- Поворот экрана
- Прячем кнопку Start
- Панель задач
- Запуск других приложений
- Названия специальных файлов
- Использование звуковых файлов
- Системное время
- Создание ярлыка
- Количество строк в текстовом поле
- Реестр
- Наличие дополнительной клавиатуры
- Виброзвонок
- При копировании с жесткого диска на «флэшку» иногда появляется сообщение о дополнительной присоединенной информации, кот...
- Профилактика поломок клавиатуры
- Устройство клавиатуры компьютера
- Проверка диска на наличие ошибок
- Создание клавиатуры
- 3.10. Имитатор пользователя или автоматическое управление для клавиатуры
- 17.9. События клавиатуры
- 3.10.1. Принцип работы автомата для клавиатуры
- 17.1.1.4. События клавиатуры
- 8.1. Интерфейс клавиатуры
- 8.1.1. Интерфейс клавиатуры AT и PS
- 8.1.2. Контроллер интерфейса клавиатуры и мыши 8042