Факультет: Информатика и системы управления
Кафедра: Программное обеспечение ЭВМ и информационные технологии
РАСЧЕТНО-ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовому проекту на тему:
"Переопределение назначений клавиш на клавиатуре
в операционной системе 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
Введение
Очень часто возникает необходимость в переназначении клавиш на клавиатуре.
§ Стандартное расположение клавиш неудобно при работе с определенным программным обеспечением
§ При переходе с одного типа клавиатуры на другой трудно привыкнуть к новому расположению клавиш.
Во многих случаях определенные клавиши могут помешать работе. Случайное нажатие на такие клавиши замедляет работу пользователя. Желательно, чтобы нажатие этих клавиш не приводило ни к каким действиям.
Поэтому задача переопределения и отключения клавиш является на сегодняшний день актуальной.
Существуют программы, решающие поставленную задачу. Примерами таких программ являются программа Марка Руссиновича Ctrl2 и программа MagicKey.
Программа Ctrl2 заменяет клавишу CapsLock на клавишу «левый Ctrl». Она реализована в виде драйвера.
Программа MagicKey, позволяет менять местами алфавитно-цифровые клавиши. Она реализована в виде драйвера и пользовательского приложения для управления этим драйвером.
1. Аналитический раздел
1.1 Постановка задачи
В соответствии с заданием на курсовую работу, необходимо разработать программное обеспечение, позволяющее переопределять назначение клавиш на клавиатуре.
§ Программное обеспечение должно позволять переопределять все клавиши клавиатуры
§ Программное обеспечение должно позволять отключать клавиши.
§ Программное обеспечение должно позволять устанавливать список осуществляемых замен.
§ Программное обеспечение не должно нарушать и замедлять работу системы.
1.2 Архитектура Windows XP
Windows XP является следующей – после Windows 2000 и Windows Millennium – версией операционной системы Microsoft Windows. ............