Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСиСП / ОС лекции.doc
Скачиваний:
42
Добавлен:
24.02.2016
Размер:
875.52 Кб
Скачать

Часть 3. Основы работы в среде ос

Базовые принципы создания прикладных программ: Win32 Application Programming Interface (Win32 API), Object Linking and Embedding (OLE). Общие правила работы с приложениями (прикладными программами);

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

На заре Windows программы создавались с применением набора Microsoft Software Development Kit (SDK). В состав этого набора, который продолжает выпускаться и сейчас, входит комплект полезных утилит, предназначенных для создания ресурсов приложений, тестирования программ и просто ускорения процесса разработки. SDK содержит полный набор библиотек для связывания Windows-программ, заголовочные файлы, электронную документацию и большое количество примеров программ на все случаи жизни.

Сегодня добавились еще две возможности программировать для Windows, обе предполагают использование какой-то современной системы программирования:

  1. Win32 API (the 32-bit Windows application programming interface)

  2. Пользование библиотеками классов, имеющихся в системе программирования.

Можно рекомендовать в качестве таких систем Borland C++ Builder или Delphi, построенные на базе языков программирования Си++ и Pascal соответственно. На самом деле систем программирования очень много. В их число входят и Visual Basic и FoxPro, и множество малоизвестных русскоязычному программисту систем класса Power Builder.

Исходные тексты Windows-приложений, разработанных на уровне программного интерфейса Windows API, легко могут быть переработаны в готовые программы с помощью любого компилятора языков Си и Си++. Все, что потребуется, - это знание универсального программного интерфейса API Win32, на котором базируются приложения для Windows и Windows NT. Win32 API подкреплен Object Linking Embedding (OLE), механизмом внедрения данных из одной прикладной программы в другую. С помощью OLE можно внедрить в текстовый документ, например, звуковой или видео фрагмент, не обращаясь к программам обработки звука (изображения).

Помимо OLE используется Component Object Model (COM) -спецификация Microsoft для создания программных компонентов, которые легко объединяются в программы или могут быть добавлены к существующим программам, чтобы придать им дополнительную функциональность. COM является основой спецификаций OLE, ActiveX и DirectX.

Помимо COM существует DCOM – распределенная объектная модель компонентов, определяющая, каким образом компоненты взаимодействуют в сети на основе Windows.

ActiveX – вариант технологии OLE, специально предназначенный для использования в Internet, где невелика скорость передачи данных между узлами. Обеспечивает взаимодействие компонентов ПО (написанных на разных языках) в сетевой среде.

DirectX – системная библиотека, компоненты которой обеспечивают управление звуковыми и графическими средствами компьютера.

Можно обойтись и без API, работая только с библиотеками классов. Класс - ключевое понятие C++. Класс - это тип данных, определяемый пользователем. Классы обеспечивают скрытие данных, гарантированную инициализацию, неявное преобразование типов, для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций.

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

Рассмотрим понятие Окно (window) – базовое для графического интерфейса пользователя (GUI) и основной объект внутрисистемного взаимодействия в ОС Windows. Окно представляет собой прямоугольную (специальными методами можно задать иную форму) часть экрана, в которой приложение производит отображение выводимой информации и из которой получает вводимую информацию. Кроме того, окно является получателем сообщений.

При загрузке Windows всегда создается окно, занимающее весь экран – Desktop window. Каждое Windows-приложение, использующее стандартные интерфейсы Windows (Windows-based приложение), создает хотя бы одно окно, называемое главным окном приложения (возможно, невидимое). Многие приложения создают еще дополнительные окна. В каждый момент времени только одно окно в системе может получать вводимую информацию – т.н. активное окно. Пользователь может использовать клавиатуру, мышь или другое устройство ввода для взаимодействия с окном.

Приложения могут использовать различные типы окон:

– элементы управления (controls)

– диалоговые окна (dialog boxes)

– окна сообщений (message boxes)

Существует определенная взаимосвязь между окнами: родительское окно или окно-хозяин.

Окно может иметь родительское окно (parent window). В таком случае оно называется дочерним окном (child window) по отношению к родительскому. Дочернее окно никогда не выходит за границы родительского. При свертывании родительского окна свертываются все дочерние. При уничтожении родительского окна все дочерние уничтожаются. Дочернее окно не имеет меню.

Окно может иметь окно-хозяина. Это другой тип отношений между окнами. Окно всегда располагается поверх хозяина и сворачивается и уничтожается вместе с ним.

Для порождения окна (в том числе и главного окна приложения) используется функция CreateWindow или CreateWindowEx.

Соседние файлы в папке ОСиСП