Большинство функций Win32 API связанных с устройствами ручного ввода осуществляют проверку поступающей информации, являясь, таким образом, информационными. К основным информационным функциям устройств ручного ввода можно отнести следующие ниже перечисленные функции.
Для клавиатуры:
§ GetKeyboardType – позволяет получить тип клавиатуры и количество функциональных клавиш;
§ GetKeyboardState – позволяет получить текущее состояние всех клавиш (клавиатуры и мыши);
§ GetKeyState – позволяет получить текущее состояние заданной клавиши;
§ GetAsyncKeyState – позволяет получить текущее и предыдущее состояние заданной клавиши.
Для мыши:
§ GetCursorPos – указывает положение курсора;
§ GetKeyboardState (для кнопок мыши);
§ GetSystemMetrics – позволяет получить количество кнопок мыши и т. д.;
§ GetCaretBlinkTime – позволяет получить время мерцания каретки;
§ SystemParametersInfo (для получения скорости перемещения курсора).
Получаемая информация предназначена как для реагирования программы на действия оператора, так и для получения типа установленных устройств. Приведенные функции позволяют получить информацию о:
|
|
§ типе клавиатуры;
§ количестве функциональных клавиш клавиатуры;
§ текущем состоянии всех клавиш (клавиатуры и мыши);
§ текущем состоянии заданной клавиши;
§ текущем и предыдущем состоянии заданной клавиши;
§ положении курсора;
§ подключении мыши в системе;
§ количестве кнопок мыши;
§ скорости перемещения курсора;
§ и т.д.
Важнейшей информацией для интерфейса пользователя большинства приложений является состояние клавиш и положение курсора мыши на экране. По данной информации принимается решение о связи между оператором и выполняемой программой на ПЭВМ.
Управляющие функции предназначены для настройки клавиатуры и мыши. Например, включение или выключение действие клавиш: "NumLock", "CapsLock" и "ScrollLock". С помощью функций управления мышью программа настраивает курсор, задавая форму отображения, координаты расположения курсора и скорость перемещения мыши. Основные управляющие функции для устройств ручного ввода представлены ниже.
Для клавиатуры –
§ SetKeyboardState – позволяет установить состояние клавиш клавиатуры;
§ SetCaretBlinkTime – позволяет задать время мерцания курсора;
Для мыши:
§ ShowCursor – показывает и скрывает курсор;
§ SwapMouseButton позволяет поменять функции кнопок мыши между собой;
§ ClipCursor – позволяет ограничить перемещение курсора заданной областью;
§ SetCursorPos – позволяет задать положение курсора;
§ SystemParametersInfo (для установки скорости перемещения курсора).
§ В приложениях на базе Win32 потребность использования функций управления мышью возрастает. Это объясняется тем, что развитие операционных систем Windows направленно на упрощение работы оператора.
Как правило, данные функции используются в программах в процедурах настройки устройств ручного ввода. Исключение составляет функция ограничения перемещения курсора в заданной области, так как область динамически изменяется в процессе выполнения программы.