Факультет: Информатика и системы управления
Кафедра: Программное обеспечение ЭВМ и информационные технологии
РАСЧЕТНО-ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовому проекту на тему:
"Переопределение назначений клавиш на клавиатуре
в операционной системе 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 позиционируют себя в стеке устройств. Порядок объектов в стеке определяет порядок обработки запросов ввода-вывода. Если необходимо перехватить и обработать запрос, непосредственно идущий от поль
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.