Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры печатать.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
379.36 Кб
Скачать

77. Виртуальные клавиши. Системные таймеры. Срабатывание таймера. Эффективное использование механизма таймеров.

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

78. Память. Распределение памяти с помощью операционной системы. Уменьшение количества объектов. Уменьшение размера объекта. Использование перемещаемых объектов.

Один из важнейших разделяемых ресурсов Windows оперативная память. Когда несколько приложений работают параллельно, все они обязаны совместно распоряжаться памятью так, чтобы не исчерпать ресурсы компьютера. Windows может дефрагментировать свободное пространство путем перемещения сегментов кода и данных в памяти. Windows может освободить временно не используемые блоки кода, а затем при необходимости загрузить код из исполняемого файла программы(когда памяти недостаточно). Приложения Windows могут вызывать процедуры из других исполняемых файлов. Файлы, содержащие такие процедуры, называются динамически подключаемыми библиотеками. Windows пользуется исполняемыми файлами специального формата, который называется новым форматом исполняемых файлов (New Executable Format). Файлы этого формата включают в себя информацию, которая необходима Windows для управления сегментами кода и данных и осуществления динамической компоновки.

79. Простое приложение Windows. Оболочка для всех приложений. Эффективное использование описателей. Компоненты приложения Windows. Функция WinMain(). Регистрация класса окна.

Оболочка - содержит весь минимальный набор компонент, необходимых для создания и отображения окна (главного окна с рамкой, заголовком, оконным меню и кнопками свертывания/развертывания), рисования диагональной линии, вывода текста сообщения и изящного завершения.

Тип данных

Значение

HANDLE

Беззнаковое целое, используемое в качестве описателя

HWND

Беззнаковое целое, используемое в качестве описателя окна

LONG

Целое со знаком

LPSTR

Указатель на строку символов

FARPROC

Указатель на функцию

WORD

Беззнаковое целое

Структура

Использование

MSG

Задает параметры сообщения о вводе

PAINTSTRUCT

Структура, используемая при рисовании окна

RECT

Прямоугольник

WNDCLASS

Класс окна

Windows использует описатели (handle) для идентификации множества объектов различных типов. Это позволяет Windows запускать более одного экземпляра одного и того же приложения. Windows имеет возможность следить за каждым экземпляром благодаря тому, что он имеет свой уникальный описатель. Благодаря использованию описателя в качестве индекса, а не просто как адреса в памяти, Windows может динамически переупорядочивать ресурсы, просто подставляя новый адрес ресурса в тот же элемент таблицы.

можем разделить приложение Windows на две основные составляющие: функция WinMainO и функция окна. Microsoft Windows требует, чтобы главная процедура в программе на С называлась WinMainO. Программа никогда не обращается к функции окна непосредственно. Вместо этого программа посылает Windows запрос на выполнение данной операции. Для обеспечения связи Windows требуется специальная функция, называемая функцией обратного вызова (callback function). Windows регистрирует функцию обратного вызова, а затем, при необходимости произвести над окном какую-либо операцию, вызывает ее.

Функция WinMainO выполняет следующие действия:

  • Регистрирует все классы окна для приложения

  • Производит необходимую инициализацию

  • Создает и запускает цикл обработки сообщений приложения

  • Обращается к очереди сообщений приложения

  • Завершает приложение по получении сообщения WM_QUIT

Каждое окно, создаваемое в приложении Windows, должно принадлежать к какому-либо классу. Создаваемые вами окна могут иметь разнообразные стили, цвета, шрифты, расположение, заголовки, значки и так далее. Ресурсом, определяющим эти атрибуты, служит класс окна (window class). Как только приложение зарегистрировало класс окна, он становится доступным для всех программ, работающих под Windows. Класс окна — это, в сущности, структура данных.