Факультет: Информатика и системы управления
Кафедра: Программное обеспечение ЭВМ и информационные технологии
РАСЧЕТНО-ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовому проекту на тему:
"Переопределение назначений клавиш на клавиатуре
в операционной системе Windows"
2009 г.
Оглавление
Введение. 4
1. Аналитический раздел. 5
1.1 Постановказадачи. 5
1.2Архитектура Windows XP. 5
1.3 Модель WDM.. 8
1.4 Стек клавиатуры.. 9
1.5 Структура драйвера. 12
DiverEntry. 12
AddDevice. 12
DriverUnload. 13
Процедуры обработки пакетов IRP. 13
Функция обработки пакетов IRP_MJ_DEVICE_CONTROL. 15
Функция обработки пакетов IRP_MJ_READ.. 16
Функция обработки пакетов IRP_MJ_PNP. 16
ISR.. 16
1.6 Анализ методов решения задачи. 17
2. Конструкторский раздел. 19
2.1 Точки входа разрабатываемого драйвера-фильтра. 19
DiverEntry. 19
AddDevice. 20
DriverUnload. 21
Процедуры обработки пакетов IRP. 21
Функция обработки пакетов IRP_MJ_DEVICE_CONTROL. 21
Функция обработки пакетов IRP_MJ_READ.. 22
Функция обработки пакетов IRP_MJ_PNP. 22
Обработка остальных пактов IRP. 23
2.2 Взаимодействие компонентов системы.. 24
2.3 Размещение драйвера в памяти. 24
2.4 Переопределение клавиш.. 25
2.5 Установка драйвера в системе. 27
3. Технологический раздел. 30
3.1 Выбор языка программирования и средств программирования. 30
Драйвер-фильтр. 30
Программа для установки драйвера. 31
Программа для управления драйвером. 31
3.2 Структуры данных проекта. 31
Информация о нажатиях и отпусканиях клавиш.. 31
Структура списка замен. 33
Дополнительная информация. 33
3.3 Интерфейс управляющего приложения. 34
3.4 Тестирование драйвера-фильтра клавиатуры.. 35
Заключение. 37
Список литературы.. 38
Очень часто возникает необходимость в переназначении клавиш на клавиатуре.
- Стандартное расположение клавиш неудобно при работе с определенным программным обеспечением
- При переходе с одного типа клавиатуры на другой трудно привыкнуть к новому расположению клавиш.
Во многих случаях определенные клавиши могут помешать работе. Случайное нажатие на такие клавиши замедляет работу пользователя. Желательно, чтобы нажатие этих клавиш не приводило ни к каким действиям.
Поэтому задача переопределения и отключения клавиш является на сегодняшний день актуальной.
Существуют программы, решающие поставленную задачу. Примерами таких программ являются программа Марка Руссиновича Ctrl 2 и программа MagicKey.
Программа Ctrl2 заменяет клавишу CapsLock на клавишу «левый Ctrl». Она реализована в виде драйвера.
Программа MagicKey, позволяет менять местами алфавитно-цифровые клавиши. Она реализована в виде драйвера и пользовательского приложения для управления этим драйвером.
1. Аналитический раздел1.1 Постановка задачи
В соответствии с заданием на курсовую работу, необходимо разработать программное обеспечение, позволяющее переопределять назначение клавиш на клавиатуре.
- Программное обеспечение должно позволять переопределять все клавиши клавиатуры
- Программное обеспечение должно позволять отключать клавиши.
- Программное обеспечение должно позволять устанавливать список осуществляемых замен.
- Программное обеспечение не должно нарушать и замедлять работу системы.
WindowsDriverModel (WDM) – это стандартная спецификация Microsoft для разработчиков драйверов устройств. Она поддерживается в операционных системах Windows 98/Me/2000/XP. Компания Microsoft требует, чтобы все новые драйверы под эти операционные системы создавались по этой спецификации. Для этого от них требуется чёткое следование структуре WDM, поддержка PlugandPlay и управления электропитанием.
Драйверная модель WDM построена на организации и манипулировании слоями «Объектов физических устройств» и «Объектов функциональных устройств». Объект-устройство – это особая структура данных, создаваемая системой для взаимодействия программного и аппаратного обеспечения. Объект PDO создается для каждого найденного элемента аппаратуры, подключенного к шине данных. Объект FDO предлагает «олицетворение» каждой логической функции, которую видит в устройстве программное обеспечение верхних уровней.
Функциональным Объектам устройств разрешается окружать себя Объектами Фильтрами (FilterDeviceobjects). Соответственно, каждому FiDO объекту сопоставлен драйвер, который выполняет определенную работу. Объукты фильтры подразделяются на фильтры нижнего уровня и фильтры верхнего уровня. И тех и других может существовать произвольное количество. Они модифицируют процесс обработки запросов ввода / вывода. Объекты FDO и FiDO отличаются только в смысловом отношении. FDO объект и его драйвер считаются главными. Они обычно обеспечивают управление устройством, а объекты FiDO являются вспомогательными.
Все объекты FDO и FiDO позиционируют себя в стеке устройств. Порядок объектов в стеке определяет порядок обработки запросов ввода-вывода. Если необходимо перехватить и обработать запрос, непосредственно идущий от поль
Одними из наиболее популярных услуг на рынке IT-технологий являются создание и продвижение лендингов. Они способны положительно влиять на деятельность любого бизнес-проекта в интернете. Судя по многочисленным отзывам, заказавшие создание лендингов люди ни разу не пожалели о потраченных деньгах. Они вложили в будущее, которое неразрывно связано с интернетом. Всё больше и больше предпринимателей обращаются к услугам разных агентств, веб-студий, чтобы заказать создание лендинга у профессионалов.