
- •Оглавление
- •Цель работы
- •Краткая теория Введение в api-программирование
- •Api операционных систем
- •Widows api
- •Структура api-программ
- •Описание используемых api-функций
- •InitCommonControls
- •RegisterClassEx
- •ShowWindow Показать окно, установить статус показа. Если окно перед этим было видимо, возвращается значение - не 0. Если окно перед этим было не видимо, возвращаемое значение - 0.
- •ТеКст программы textred.Asm
- •Filedlgs.Asm
- •Rsrc.Rc
- •Результаты работы
- •Список литературы
Widows api
Windows API – общее наименование целого набора базовых функций интерфейсов программирования приложений операционных систем семейств Windows (от Windows 3.11 до Windows 98) и Windows NT корпорации «Microsoft». Является самым прямым способом взаимодействия приложений с Windows.
Работа через Windows API — это наиболее близкий к системе способ взаимодействия с ней из прикладных программ.
Win32 – 32х разрядный API для современных версий Windows. Самая популярная ныне версия. Win32 появился вместе с Windows NT и затем был перенесён (в несколько ограниченном виде) в системы серии Windows 9x.
Win64 — 64-разрядная версия Win32, содержащая дополнительные функции для использования на 64-разрядных компьютерах.
Структура api-программ
Центральным понятием программирования в среде Windows является сообщение. Система посылает сообщение приложению, а то, в свою очередь, должно правильно отреагировать на него. Получателями сообщений являются функции окон приложения, на программирование которых и уходит большая часть времени при разработке API-приложений.
Классическая структура API-программы определяется четырьмя компонентами: инициализация; цикл ожидания, или цикл обработки сообщений; функция главного окна; другие функции. В простейшем случае последний компонент может отсутствовать. Два первых компонента располагаются в функции WinMain, остальные реализуются отдельными функциями.
Описание используемых api-функций
GetCommandLine
Функция извлекает командную строку для текущего процесса. Величина возвращаемого значения - указатель на строку.
Синтаксис:
LPTSTR GetCommandLine(VOID) // У этой функции нет параметров.
GetModuleHandle
Функция извлекает дескриптор указанного модуля, если файл был отображен в адресном пространстве вызывающего процесса. В случае успешного завершения возвращает идентификатор модуля; 0 - в противном случае.
Синтаксис:
GetModuleHandle (
ModuleName: PChar //Имя модуля (заканчивающееся пустым символом).
): THandle;
InitCommonControls
Регистрирует указанные классы стандартного органа управления из динамически подключаемой библиотеки (DLL) стандартных органов управления. Возвращает значение ИСТИНА (TRUE) в случае успешного завершения, или иначе ЛОЖЬ (FALSE).
Синтаксис
BOOL InitCommonControlsEx(
LPINITCOMMONCONTROLSEX lpInitCtrls
);
ExitProcess
Функция заканчивает работу процесса и всех его потоков. У этой функции нет возвращаемого значения.
Синтаксис:
VOID ExitProcess(
UINT uExitCode // код выхода для всех потоков
);
WinMain
Функция вызывается системой как начальная точка входа, для базирующейся на Win32, прикладной программы. Если функция достигла цели, она завершается тогда, когда примет сообщение WM_QUIT, она должно возвратить значение выхода, содержащееся в параметре этого сообщения wParam. Если функция завершается перед вводом цикла сообщения, она должна возвратить 0.
Синтаксис:
int WINAPI WinMain
(
HINSTANCE hInstance, // дескриптор текущего экземпляра окна
HINSTANCE hPrevInstance, // дескриптор предыдущего экземпляра окна
LPSTR lpCmdLine, // указатель на командную строку
int nCmdShow // показывает состояние окна
);
LoadIcon
Функция загружает указанный ресурс значка из исполняемого (.exe) файла, связанного с экземпляром приложения. Если функция завершается успешно, возвращаемое значение - дескриптор недавно загруженного значка. Если функция завершается ошибкой, возвращаемое значение - NULL. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Синтаксис:
HICON LoadIcon(
HINSTANCE hInstance, // Дескриптор экземпляра модуля
LPCTSTR lpIconName // Указатель на строку
);
GetStockObject
Функция извлекает дескриптор одного из предопределенных (стандартных) перьев, кистей, шрифтов или палитр. Если функция завершается успешно, возвращаемое значение - дескриптор затребованного логического объекта. Если функция завершается с ошибкой, возвращаемое значение - ПУСТО (NULL).
Синтаксис :
HGDIOBJ GetStockObject(
int fnObject // тип предопределенного объекта
);
LoadCursor
Функция загружает заданный ресурс курсора из исполняемого (.EXE) файла, связанного с экземпляром прикладной программы. Если функция завершается успешно, возвращаемое значение - дескриптор недавно загруженного курсора. Если функция завершается ошибкой, возвращаемое значение - ПУСТО (NULL).
Синтаксис:
HCURSOR LoadCursor(
HINSTANCE hInstance, // Дескриптор экземпляра модуля
LPCTSTR lpCursorName // Указатель на строку
);