Мегаобучалка Главная | О нас | Обратная связь


Описание используемых API-функций



2020-02-04 168 Обсуждений (0)
Описание используемых API-функций 0.00 из 5.00 0 оценок




Введение в API-программирование

(application programming interface) - интерфейс прикладного программирования (иногда интерфейс программирования приложений). Другими словами, это те возможности (функции, переменные, константы, классы), которые предоставляет приложение для использования прикладными программами.определяет функциональность, которую предоставляет программа (модуль, библиотека), при этом API позволяет абстрагироваться от того, как именно эта функциональность реализована.

Если программу (модуль, библиотеку) рассматривать как чёрный ящик, то API - это множество «ручек», которые доступны пользователю данного ящика, которые он может вертеть и дёргать, при этом ящик будет производить какие-то определенные действия понятные и необходимые пользователю, но пользователь, при этом, не имеет даже представления о их реализации.

Программные компоненты взаимодействуют друг с другом посредством API. При этом обычно компоненты образуют иерархию - высокоуровневые компоненты используют API низкоуровневых компонентов, а те, в свою очередь, используют API ещё более низкоуровневых компонентов.

API операционных систем

Практически все операционные системы (Unix, Windows, Mac OS, и т.д.) имеют API, с помощью которого программисты могут создавать приложения для этой операционной системы. Главный API операционных систем - это множество системных вызовов.

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

Widows API

Windows API - общее наименование целого набора базовых функций интерфейсов программирования приложений операционных систем семейств Windows (от Windows 3.11 до Windows 98) и Windows NT корпорации «Microsoft». Является самым прямым способом взаимодействия приложений с Windows.

Работа через Windows API - это наиболее близкий к системе способ взаимодействия с ней из прикладных программ.- 32х разрядный API для современных версий Windows. Самая популярная ныне версия. Win32 появился вместе с Windows NT и затем был перенесён (в несколько ограниченном виде) в системы серии Windows 9x.- 64-разрядная версия Win32, содержащая дополнительные функции для использования на 64-разрядных компьютерах.

Структура API-программ

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

Классическая структура API-программы определяется четырьмя компонентами: инициализация; цикл ожидания, или цикл обработки сообщений; функция главного окна; другие функции. В простейшем случае последний компонент может отсутствовать. Два первых компонента располагаются в функции WinMain, остальные реализуются отдельными функциями.

Описание используемых API-функций

GetCommandLine

Функция извлекает командную строку для текущего процесса. Величина возвращаемого значения - указатель на строку.

Синтаксис:GetCommandLine(VOID) // У этой функции нет параметров.

Функция извлекает дескриптор указанного модуля, если файл был отображен в адресном пространстве вызывающего процесса. В случае успешного завершения возвращает идентификатор модуля; 0 - в противном случае.

Синтаксис:

GetModuleHandle (

ModuleName: PChar // Имя модуля (заканчивающееся пустым символом).

THandle;

InitCommonControls

Регистрирует указанные классы стандартного органа управления из динамически подключаемой библиотеки (DLL) стандартных органов управления. Возвращает значение ИСТИНА (TRUE) в случае успешного завершения, или иначе ЛОЖЬ (FALSE).

СинтаксисInitCommonControlsEx (lpInitCtrls

);

ExitProcess

Функция заканчивает работу процесса и всех его потоков. У этой функции нет возвращаемого значения.

Синтаксис:

VOID ExitProcess (

UINT uExitCode // код выхода для всех потоков

);

Функция вызывается системой как начальная точка входа, для базирующейся на Win32, прикладной программы. Если функция достигла цели, она завершается тогда, когда примет сообщение WM_QUIT, она должно возвратить значение выхода, содержащееся в параметре этого сообщения wParam. Если функция завершается перед вводом цикла сообщения, она должна возвратить 0.

Синтаксис:WINAPI WinMain

(hInstance, // дескриптор текущего экземпляра окнаhPrevInstance, // дескриптор предыдущего экземпляра окнаlpCmdLine, // указатель на командную строкуnCmdShow // показывает состояние окна

);

Функция загружает указанный ресурс значка из исполняемого (.exe) файла, связанного с экземпляром приложения. Если функция завершается успешно, возвращаемое значение - дескриптор недавно загруженного значка. Если функция завершается ошибкой, возвращаемое значение - NULL. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.

Синтаксис:

HICON LoadIcon (

HINSTANCE hInstance, // Дескриптор экземпляра модуля

LPCTSTR lpIconName // Указатель на строку

);

GetStockObject

Функция извлекает дескриптор одного из предопределенных (стандартных) перьев, кистей, шрифтов или палитр. Если функция завершается успешно, возвращаемое значение - дескриптор затребованного логического объекта. Если функция завершается с ошибкой, возвращаемое значение - ПУСТО (NULL).

Синтаксис:

HGDIOBJ GetStockObject (

int fnObject // тип предопределенного объекта

);

LoadCursor

Функция загружает заданный ресурс курсора из исполняемого (.EXE) файла, связанного с экземпляром прикладной программы. Если функция завершается успешно, возвращаемое значение - дескриптор недавно загруженного курсора. Если функция завершается ошибкой, возвращаемое значение - ПУСТО (NULL).

Синтаксис:

HCURSOR LoadCursor (

HINSTANCE hInstance, // Дескриптор экземпляра модуля

LPCTSTR lpCursorName // Указатель на строку

);

RegisterClassEx

Регистрирует класс окна для последующего использования при вызове CreateWindowEx функции.

Синтаксис:

ATOM WINAPI RegisterClass (

WNDCLASS * lpWndClass // Указатель на WNDCLASS структуры.

);

GetSystemMetrics

Создает перекрывающее, всплывающее или дочернее окно с расширенным стилем окна. Если функция успешно завершила работу, возвращаемое значение - дескриптор созданного окна. Если функция завершилась ошибкой, возвращаемое значение - ПУСТО (NULL).

Синтаксис:CreateWindowEx (dwExStyle, // улучшенный стиль окнаlpClassName, // указатель на зарегистрированное имя классаlpWindowName, // указатель на имя окнаdwStyle, // стиль окнаx, // горизонтальная позиция окнаy, // вертикальная позиция окнаnWidth, // ширина окнаnHeight, // высота окнаhWndParent, // дескриптор родительского или окна владельцаhMenu, // дескриптор меню или ID дочернего окнаhInstance, // дескриптор экземпляра прикладной программыlpParam // указатель на данные создания окна

);

SetMenu

Функция назначает новое меню для заданного окна.

Синтаксис

BOOL SetMenu (

HWND hWnd, // Дескриптор окна, к которому назначается меню.

HMENU hMenu // Дескриптор нового меню.

);

ShowWindow



2020-02-04 168 Обсуждений (0)
Описание используемых API-функций 0.00 из 5.00 0 оценок









Обсуждение в статье: Описание используемых API-функций

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (168)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)