Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
WinAPI.docx
Скачиваний:
49
Добавлен:
16.12.2018
Размер:
3.43 Mб
Скачать

2.1.7 Соглашения операционной системы Windows

Программирование для Windows — это реализация принципа: все или ничего. Например, вы не сможете написать приложение для MS-DOS и при этом использовать Windows только для создания какой-нибудь графики.

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

2.1.8 Вызовы функций

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

Каждая функция Windows имеет развернутое имя, написанное буквами как верхнего, так и нижнего регистров, например CreateWindow. Эта функция (как вы могли бы догадаться) создает для вашей программы окно. Другой пример: функция IsClipboardFormatAvailable определяет, хранятся ли в буфере обмена данные специального формата.

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

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

Когда вы запускаете программу в Windows, она взаимодействует с Windows через процесс, называемый "динамическим связыванием". EXE-файлы Windows содержат ссылки на различные динамически подключаемые библиотеки, функции которых в них используются. Большая часть этих библиотек DLL расположено в подкаталоге SYSTEM вашего каталога Windows. Когда программа для Windows загружается в оперативную память, вызовы в программе настраиваются на точки входа функций в динамически подключаемых библиотеках, которые, если этого еще не произошло, тоже загружаются в оперативную память.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]