Факультет: Информатика и системы управления

Кафедра: Программное обеспечение ЭВМ и информационные технологии


РАСЧЕТНО-ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту на тему:

"Переопределение назначений клавиш на клавиатуре

в операционной системе 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. Наиболее распространены реализации данной ОС для платформы Intel x86 в одно- или многопроцессорных конфигурациях, однако существуют также версии для DEC Alpha и MIPS. Данная операционная система использует защищённый режим центрального процессора, реализует механизмы виртуальной памяти и многозадачности.

Windows XP использует два уровня привилегий: уровень привилегий 0, соответствующий коду режима ядра и уровень привилегий 3, соответствующий коду прикладных задач (всего существует четыре уровня привилегий). Уровень привилегий накладывает определённые ограничения: в пользовательском режиме не могут выполняться привилегированные инструкции процессора и не разрешено обращение к защищённым страницам в памяти. Эти ограничения накладываются для обеспечения безопасности работы системы. Пользовательское приложение не должно иметь возможность – в результате ошибки или преднамеренно – вносить изменения в системные таблицы или в память других приложений. В частности, такие ограничения запрещают пользовательскому приложению напрямую управлять внешними устройствами.

В Windows XP обеспечение обмена данными и управление доступом к внешнему устройству возлагается на его драйвер. Ввод и вывод в драйверах осуществляется пакетами – IRP (Input/Output Request Packet). Запросы на ввод / вывод, посылаемые приложениями или другими драйверами, обрабатываются драйвером, после чего запрашивающей программе в том же пакете посылается статус завершения операции.

Архитектура ввода / вывода в Windows XP имеет иерархическую структуру. Для осуществления операции ввода / вывода пользовательское приложение должно вызвать одну из функций API. Эта функция создает необходимый IRP пакет и направляет его подсистеме ввода / вывода. Подсистема ввода / вывода направляет IRP пакет необходимому драйверу. Драйвер осуществляет обращение к устройствам, используя функции HAL.

HAL (Hardware Abstraction Layer) – это слой программного обеспечения, который скрывает специфику аппаратной платформы от остальных компонентов системы. Он обеспечивает малые затраты при переносе системы или элементов программного обеспечения. На Рис. 1. показана архитектура ввода / вывода Windows XP.


Рис. 1. Архитектура ввода / вывода Windows XP

Управление внешним устройством в общем случае сводится к заполнению регистров контроллера необходимыми данными. Монопольный доступ драйвера к этим регистрам гарантируется операционной системой. Очевидно, что при данных обстоятельствах требуется, чтобы драйвер устройства выполняется в режиме ядра. В архитектуре Windows XP существуют так называемые драйверы виртуальных устройств для поддержки DOS‑приложений, исполняющиеся в реальном режиме.

Классификация драйверов Windows XP

§  Драйверы режима ядра

·                 Драйверы файловых систем

·                 Унаследованные

·                 Драйверы Plug and Play

·                 Видеодрайверы

§  Драйверы пользовательского режима

·                 Драйверы виртуальных устройств



Информация о работе «Переопределение назначений клавиш на клавиатуре в операционной системе Windows»
Раздел: Информатика, программирование
Количество знаков с пробелами: 45280
Количество таблиц: 0
Количество изображений: 9

Похожие работы

Скачать
249178
21
46

... системам линейных алгебраических уравнений с более чем одной неизвестной; MATLAB решает такие уравнения без вычисле-ния обратной матрицы. Хотя это и не является стандартным математическим обозначением, система MATLAB использует терминологию, связанную с обычным делением в одномерном случае, для описания общего случая решения совместной системы нескольких линейных уравнений. Два символа деления / ...

Скачать
129632
2
0

... , выдачей и приёмом лицензий). В условиях крупных сетей рекомендуется выделение под сервер лицензий отдельного компьютера (или нескольких - для резервирования). 1.1 Архитектура терминальных устройств В компьютерных технологиях трёхуровневая архитектура, синоним трёхзвенная архитектура (по англ. three-tier или Multitier architecture) предполагает наличие следующих компонентов приложения: ...

Скачать
568458
20
78

... для реализации системы бюджетирования Консультационной группы "Воронов и Максимов". Статья о проблемах выбора системы бюджетирования - в проекте "УПРАВЛЕНИЕ 3000". Бюджетный автомат Если вы решитесь на автоматизацию системы бюджетирования компании, перед вами сразу встанут вопросы: что выбрать, сколько платить, как внедрять. Примеряйте! О ЧЕМ РЕЧЬ В “Капитале” на стр. 44, 45 мы рассказали ...

Скачать
176646
13
0

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

0 комментариев


Наверх