![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Цель работы
Изучить структуру оконных приложений в операционной система Windows, принципы передачи сообщений и их обработки.
Указания по подготовке к выполнению лабораторной работы
Одной из основных проблем в многозадачной среде является организация эффективного выполнения набора параллельных задач, обмена данными между ними. Одним из способов повышения эффективности вычислений в многозадачной среде является необходимость исключения циклов опроса устройств ввода-вывода, и организацию вычисление по событийному принципу. При подготовке к лабораторной работе необходимо ознакомится с теоретическим описанием принципа обработки и передачи сообщений. Внимательно проработать вопросы организации программ реализующих событийный принцип работы. Ознакомиться набором функций WinApi для передачи сообщений и создания оконных приложений..
При подготовке к работе необходимо изучить конспект лекций по указанной теме, методические указания, а также разделы, указанные в [16, c.763-809], [17, c.59-87].
Обзор темы работы
Обработка сообщений лежит в основе работы приложений Windows. Система и приложения вырабатывают сообщения в ответ на каждое событие, которое происходит в ОС.
Windows вырабатывает сообщения в ответ на каждое аппаратное событие, такое как нажатие пользователем клавиши на клавиатуре или перемещение мыши. Каждый поток имеет собственную очередь сообщений и ОС передает сообщения в соответствующие очереди сообщений. Каждая нить в системе обрабатывает сообщения только из собственной очереди сообщений. Некоторые сообщения относятся ко всей системе или предназначены для нескольких нитей. Эти сообщения помещаются в очереди соответствующих нитей.
Сообщение – это фактически структура данных, которая определена следующим образом:
typedef struct tagMSG
{
HWND hwnd; /* дескриптор окна */
UINT message; /* идентификатор сообщения */
WPARAM wParam; /* значение wParam */
LPARAM lParam; /* значение lParam */
DWORD time; /* число миллисекунд с момента запуска */
POINT pt; /* положение курсора мыши в экранных
/* координатах */
} MSG;
Данные сообщения содержат дескриптор окна (hwnd), закодированный тип сообщения (message), данные wParam и lParam, которые будут переданы функции WndProc, отметку времени отправки сообщения time (в миллисекундах после запуска Windows) и структуру POINT (pt), содержащую координаты x и у курсора мыши во время отправки сообщения.
Дата публикования: 2015-01-13; Прочитано: 170 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!