
- •Лекция 1. Введение в программирование под Windows
- •Основные общие свойства Windows-платформ.
- •Приложения, потоки и окна
- •Классы окон
- •Типы сообщений
- •Приложения также могут определять собственные сообщения.
- •Вызов функций Windows
- •Оконная функция – функция обратного вызова
- •Синхронные и асинхронные сообщения
- •Разделение аппаратных ресурсов
Разделение аппаратных ресурсов
Одним из наиболее существенных свойств Windows является то, что под его управлением можно одновременно запускать на выполнение несколько программ. Различные приложения делят между собой эти ограниченные ресурсы, распределение которых осуществляет операционная оболочка Windows.
Программируя для Windows, нельзя забывать о том, что все аппаратные ресурсы являются разделяемыми, и для их правильного использования следует придерживаться определенных правил.
Так, если программа для MS-DOS имеет доступ ко всей свободной оперативной памяти и может обращаться к этой памяти так, как захочется программисту, то в Windows, где одновременно может выполняться несколько программ, память является разделяемым ресурсом.
Другим примером разделяемого ресурса является дисплей. Программируя в MS-DOS, можно в любой момент переключить режим видеоадаптера, изменить цвет или даже напрямую обратится контроллеру и что-то записать в видеопамять. Такая техника полностью исключается при программировании в Windows. Дисплей - разделяемый системный ресурс, и обращаться к нему можно только так, как позволяет Windows.
Одной из основных целей создателей Windows являлось обеспечение визуального доступа к большинству приложениям одновременно. Для этого каждому приложению выделяется часть экрана для взаимодействия с пользователем. В Windows каждое приложение в любой момент времени имеет доступ к определенной части экрана. Таким образом, экран в Windows - разделяемый ресурс, средством разделения которого является окно приложения.
Итак, два важных вывода.
Во-первых, загруженная на выполнение программа не забирает на себя полностью все ресурсы - эти ресурсы выделяются приложению при помощи специальных механизмов.
Во-вторых, в каждый момент времени программа не знает, какая именно область экрана принадлежит окну приложения, поскольку пользователь в любой момент может переместить окно и изменить его размеры (для определения координат окна нужно обратиться к специальной функции Windows).