Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчеты по Курсовой Работе / Kонсольное приложение_вариант13_Казанцев_8-78-2(консольное приложение, клавиатура и мышь).doc
Скачиваний:
49
Добавлен:
12.03.2015
Размер:
143.36 Кб
Скачать

Федеральное бюджетное государственное общеобразовательное учреждение

высшего профессионального образования

Ижевский государственный технический университет им. М.Т. Калашникова

Факультет «Информатика и вычислительная техника»

Кафедра «Вычислительная техника»

Пояснительная записка к курсовой работе

по дисциплине: «Операционные системы»

на тему: «Консольные приложения, мышь и клавиатура в консольных приложениях»

Вариант №13

Выполнил: студент гр. 8-78-2

__________ В.А. Казанцев

Проверил: к.т.н., доцент

__________ Е.А. Вахрушева

Ижевск, 2014

Оглавление

Введение 3

Задание 5

Описание программы 5

Используемые функции 6

wsprintfA 6

ADD ESP,N 6

Данная команда освобождает N байт стека. 6

ReadConsoleInput 6

GetStdHandle 7

WriteConsoleA 7

SetConsoleCursorPosition 7

SetConsoleTitle 8

FreeConsole 8

AllocConsole 8

CharToOemA 9

SetConsoleTextAttribute 10

SetConsoleScreenBufferSize 11

Заключение 12

Список используемой литературы 13

Приложение 14

Введение

Windows API — набор функций операционной системы

Аббревиатура API многим начинающим программистам кажется весьма таинственной и даже пугающей. На самом же деле Application Programming Interface (API) — это просто некоторый готовый набор функций, который могут использовать разработчики приложений. В общем случае данное понятие эквивалентно тому, что раньше чаще называли библиотекой подпрограмм. Однако обычно под API подразумевается особая категория таких библиотек.

В ходе разработки практически любого достаточно сложного приложения (MyAppication) для конечного пользователя формируется набор специфических внутренних функций, используемых для реализации данной конкретной программы, который называется MyApplication API. Однако часто оказывается, что эти функции могут эффективно использоваться и для создания других приложений, в том числе другими программистами. В этом случае авторы, исходя из стратегии продвижения своего продукта, должны решить вопрос: открывают они доступ к этому набору для внешних пользователей или нет? При утвердительном ответе в описании программного пакета в качестве положительной характеристики появляется фраза: «Комплект включает открытый набор API-функций» (но иногда за дополнительные деньги).

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

Соответственно Windows API — это набор функций, являющийся частью самой операционной системы и в то же время — доступный для любого другого приложения, в том числе написанного с помощью VB. В этом плане вполне оправданна аналогия с набором системных прерываний BIOS/DOS, который фактически представляет собой DOS API.

Отличие заключается в том, что состав функций Windows API, с одной стороны, значительно шире по сравнению с DOS, с другой  — не включает многие средства прямого управления ресурсами компьютера, которые были доступны программистам в предыдущей ОС. Кроме того, обращение к Windows API выполняется с помощью обыкновенных процедурных обращений, а вызов функций DOS — через специальную машинную команду процессора, которая называется Interrupt («прерывание»).

Задание

Написать консольное приложение, обрабатывающее сигналы от клавиатуры и мыши, с использованием API-функций.

Описание программы

В соответствии с вариантом было написано консольное приложение «Художественный холст» в текстовом режиме. Программа по нажатию левой кнопки мыши выводит в позицию курсора символ пера, по нажатию правой кнопки мыши стирает символ по позиции курсора. Символ пера можно изменять с клавиатуры, в левом верхнем углу, присутствует индикатор, показывающий текущий символ пера. В нижнем левом углу отображаются текущие координаты курсора в окне.

Рисунок 1 – Пример работы программы

Используемые функции wsprintfA

Эта функция является неким аналогом библиотечной Си-функции - sprintf. Первым параметром функции является указатель на буфер, куда помещается результат форматирования. Второй - указатель на форматную строку, например: "Числа: %lu, %lu". Далее идут указатели на параметры (либо сами параметры, если это числа), число которых определено только содержимым форматной строки. Поскольку количество параметров не определено, то стек освобождает программист. Пример использования этой функции будет дан ниже. Прототипом этой функции для библиотеки import32.lib (TASM32) будет не wsprintfA, a _wsprintfA (!). Если функция выполнена успешно, то в EAX будет возвращена длина скопированной строки.