Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_API-контроль.doc
Скачиваний:
10
Добавлен:
01.07.2025
Размер:
183 Кб
Скачать
☆

2 Лабораторная работа №2. Устройства ручного ввода

Целью данной работы является изучение основных функций Win32 API работы с клавиатурой и мышью Windows.

Пример использования функций в пользовательских приложениях приведен в демонстрационной программе lab_api.exe. Для визуального просмотра результатов выполнения данных функций требуется запустить программу lab_api.exe и выбрать опцию меню «Клавиатура» или «Мышь». В справочной системе приведено полное описание используемых функций, включая синтаксис функции. Вызов справочной системы производится из программы lab_api.exe через опцию меню «Справочная система» либо запуском программы lab_help.exe.

2.1 Назначение устройств ручного ввода и их виды

Основными устройствами ручного ввода в графических интерфейсах пользователя современных ПЭВМ являются клавиатура и мышь. С помощью данных устройств оператор осуществляет ввод команд с целью управления программой выполняемой на ПЭВМ. Кроме того, при помощи клавиатуры оператор вводит данные, а с помощью мыши выбирает данные из предлагаемого списка, т.е. клавиатура и мышь являются источниками данных и команд управления для выполняемой программы.

Первоначально ввод на ПЭВМ осуществлялся только с клавиатуры, так как она была достаточно эффективной для выполнения функциональных задач ПЭВМ. Эволюционируя от пультов ЭВМ до мобильных и переносных устройств, клавиатура стала однозначным лидером ввода. Клавиатура ПЭВМ выполнена в виде отдельного устройства, подключаемого к ПЭВМ специальным кабелем. Мобильные и переносные компьютеры содержат встроенную клавиатуру.

В процессе развития программного обеспечения, оно все больше ориентировалось на то, чтобы упростить ввод и позволить пользователю, не обладающему знаниями о внутренней работе программы и не имеющему профессиональных навыков работы с клавиатурой, быстро включиться в работу. В связи с этим появились такие устройства как мышь, световое перо и т.д.

Среди новых устройств ручного ввода двухкнопочная мышь заняла ведущую позицию. Такое лидерство объясняется появлением и развитием операционных систем семейства Windows со своим интерфейсом Win32. Управление в подобных системах может полностью осуществляться мышью, за исключением ввода символов для идентификации, снятия зашиты от несанкционированного доступа и т.д.

В настоящее время изготовители компьютерного оборудования предлагают большой выбор мышей разного типа. Мыши отличаются не только внешним видом, но и способом подключения.

На данном этапе развития ПЭВМ интерфейс пользователя имеет диалоговый характер, где основными устройствами ввода являются клавиатура и мышь. Поэтому управление мышью и клавиатурой является приоритетной задачей.

2.2 Функции Win32 api для клавиатуры и мыши

Большинство функций Win32 API связанных с устройствами ручного ввода осуществляют проверку поступающей информации, являясь, таким образом, информационными. К основным информационным функциям устройств ручного ввода можно отнести следующие ниже перечисленные функции.

Для клавиатуры:

  • GetKeyboardType;

  • GetKeyboardState;

  • GetKeyState;

  • GetAsyncKeyState.

Для мыши:

  • GetCursorPos;

  • GetKeyboardState (для кнопок мыши);

  • GetSystemMetrics;

  • SystemParametersInfo (для получения скорости перемещения курсора).

Получаемая информация предназначена как для реагирования программы на действия оператора, так и для получения типа установленных устройств. Приведенные функции позволяют получить информацию о:

  • типе клавиатуры;

  • количестве функциональных клавиш клавиатуры;

  • текущем состоянии всех клавиш (клавиатуры и мыши);

  • текущем состоянии заданной клавиши;

  • текущем и предыдущем состоянии заданной клавиши;

  • положении курсора;

  • подключении мыши в системе;

  • количестве кнопок мыши;

  • скорости перемещения курсора;

  • и т.д.

Важнейшей информацией для интерфейса пользователя большинства приложений является состояние клавиш и положение курсора мыши на экране. По данной информации принимается решение о связи между оператором и выполняемой программой на ПЭВМ.

Управляющие функции предназначены для настройки клавиатуры и мыши. Например, включение или выключение действие клавиш: "NumLock", "CapsLock" и "ScrollLock". С помощью функций управления мышью программа настраивает курсор, задавая форму отображения, координаты расположения курсора и скорость перемещения мыши. Основные управляющие функции для устройств ручного ввода представлены ниже.

Для клавиатуры - SetKeyboardState.

Для мыши:

  • ShowCursor;

  • SwapMouseButton;

  • ClipCursor;

  • SetCursorPos;

  • SystemParametersInfo (для установки скорости перемещения курсора).

В приложениях на базе Win32 потребность использования функций управления мышью возрастает. Это объясняется тем, что развитие операционных систем Windows направленно на упрощение работы оператора. Управление устройствами ручного ввода с помощью приведенных функций сводится к следующему:

  • задать состояние клавиатуры;

  • показать/скрыть курсор;

  • поменять функции кнопок мыши между собой;

  • ограничить перемещение курсора заданной областью;

  • задать положение курсора;

  • задать скорость перемещения курсора.

Как правило, данные функции используются в программах в процедурах настройки устройств ручного ввода. Исключение составляет функция ограничения перемещения курсора в заданной области, так как область динамически изменяется в процессе выполнения программы.

Управление вводом с клавиатуры получило новое направление развития, вследствие необходимости распределения вводимой информации между различными потоками в многозадачных системах. Так как функции управления потоками ввода захватывают более широкую область, чем управление клавиатурой, они не будут рассмотрены.