- •Методические указания и задания
- •Лабораторная работа №1
- •Методические указания к лабораторной работе
- •Задание к лабораторной работе №1
- •Лабораторная работа №2
- •Методические указания к лабораторной работе
- •Задание к лабораторной работе №2
- •Лабораторная работа №3
- •Методические указания к лабораторной работе
- •Задание к лабораторной работе №3
- •Лабораторная работа №4
- •Тема: Приемы низкоуровневой работы с мышью.
- •Методические указания к лабораторной работе
- •Включение курсора мыши:
- •Выключение курсора мыши:
- •Установка драйвера событий:
- •Задание к лабораторной работе №4
- •Контрольные вопросы
- •Лабораторная работа №5
- •Методические указания к лабораторной работе
- •Задание к лабораторной работе №5
- •Контрольные вопросы
- •Лабораторная работа № 6
- •Задание к лабораторной работе №6
- •Лабораторная работа №7
- •Методические указания к лабораторной работе
- •Задание к лабораторной работе №7
- •Лабораторная работа №8
- •Методические указания к лабораторной работе
- •Задание к лабораторной работе
- •Приложение а
- •Приложение б
- •Функции для работы с cd проигрывателем
- •Endp _StopPlay
- •Endp _DiskInfo
- •Лабораторная работа № 1
- •Лабораторная работа № 4
- •Приемы низкоуровневой работы с мышью………………………………25
Установка драйвера событий:
Вход:
АХ = 000Сh
СХ = маска вызова, имеющая следующие биты:
0 – при перемещение мышки
1 – при нажатии левой клавиши
2 – при отпускании левой клавиши
3 – при нажатии правой клавиши
4 – при отпускании правой клавиши
5 – при нажатии средней клавиши
6 – при отпускании средней клавиши
7Fh – любое событие
ES:DX = адрес драйвера, который будет обрабатывать эти события
Входная информация для драйвера событий:
AX = маска вызова
ВХ = состояние клавиш
СX, DX = координаты курсора
SI, DI = относительное перемещение курсора
DS = сегмент данных драйвера мыши
Этот драйвер событий подключается и вызывается из драйвера мыши. Мы регистрируем в операционной системе MS-DOS собственную программу, которая будет вызываться при наступлении событий связанных с мышью. Отсюда получаем еще один способ внедрения программ. Имеется возможность установить еще один альтернативный драйвер событий (АХ = 0018h).
Определение типа мыши:
Вход:
AХ = 0024h
Выход:
ВХ = версия драйвера
СН = вид подключения
1 – BUS (через специализированный адаптер)
2 – SERIAL (через последовательный адаптер)
3 – Inport
4 – PS/2 (через круглый разъем)
5 – HP
СL = номер прерывания, к которому подключена мышь.
Определение порога удвоения скорости:
Вход:
АХ = 0013h
Выход:
DX = порог(мики/сек)
По умолчанию - 64 мика/сек
Установление области исключения видимости для курсора:
То есть определение области, в которой курсор становится невидим.
Вход:
AX = 0010h
СX:DX = координата левого верхнего угла
SI:DI = координата правого нижнего угла.
Задание к лабораторной работе №4
Написать программу, которая бы реализовывала требования, представленные в таблице 1.Пример выполнения задания представлен в приложении А.
Таблица 1 - Варианты заданий к лабораторной работе №4:
№ варианта |
ЗАДАНИЕ |
1 |
Изменить тип курсора в текстовом режиме при нажатии некоторой клавиши на клавиатуре |
2 |
Изменить тип курсора в графическом режиме при нажатии некоторой клавиши на клавиатуре |
3 |
Изменять область видимости по горизонтали при каждом нажатии клавиши мыши |
4 |
Изменять область видимости по вертикали при каждом нажатии клавиши мыши |
5 |
Включать курсор при нажатии левой клавиши, а выключать по нажатию правой клавиши мыши |
6 |
Выключать курсор при нажатии левой клавиши мыши, а включать по нажатию правой клавиши мыши |
7 |
Установить курсор в правый нижний угол экрана |
8 |
Установить курсор в левый нижний угол экрана |
9 |
Установить курсор в правый верхний угол экрана и изменить его вид |
10 |
Вывести на экран координаты положения курсора |
11 |
Вывести на экран содержимое счетчиком перемещения курсора |
12 |
Установить область невидимости курсора |
13 |
Определить тип мыши |
14 |
Изменять тип курсора в графическом режиме при помещении его на середину экрана |
15 |
Выключать курсор при помещении его на середину экрана |
|
|
16 |
Включать курсор при помещении его в точку с координатами (0,0) |
17 |
Изменять диапазон движения курсора по горизонтали при нажатии левой клавиши мыши, а по вертикали при нажатии правой клавиши |
18 |
Изменять диапазон движения курсора по вертикали при нажатии клавиши мыши, а по горизонтали при отпускании клавиши |
19 |
Установить курсор в середине экрана и изменить его тип в текстовом режиме |
20 |
Выключать курсор при нажатии клавиши мыши в точке с координатами (0,0) |