Программа для вызова API функций

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    146,38 Кб
  • Опубликовано:
    2015-03-08
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Программа для вызова API функций

Введение

Свыше 90 процентов настольных и портативных компьютеров работают под управлением Windows. Консультант по Windows Джеффри Рихтер считает, что «Microsoft Windows очень сложная операционная система. Она включает столько всего и делает так много, что одному человеку просто не под силу полностью разобраться в этой системе». Курсовая работа посвящена изучению одного из разделов операционной системы.

Самые важные части операционной системы Windows написаны на языке ассемблера. Поэтому операционную систему Windows нагляднее изучать, используя именно этот язык. Язык ассемблера - это символическое представление машинного языка. Все процессы в машине на самом низком, аппаратном уровне приводятся в действие только командами (инструкциями) машинного языка. Ассемблер может понадобиться для оптимизации кода программ, написания драйверов, трансляторов, программирования некоторых внешних устройств и т.п.

Что касается операционной системы Windows, то здесь, как ни странно это прозвучит для некоторых программистов, программировать на ассемблере гораздо легче, чем в операционной системе MS DOS, и ничуть не сложнее чем на Си, и при этом получается компактный, эффективный и быстрый код. При работе с языками высокого уровня теряются определенные алгоритмические навыки. И процесс заходит всё дальше. Только ради повышения своего профессионального уровня стоит заниматься программированием на ассемблере

Теоретическая часть

С 1991 года операционная система Windows, созданная компанией Microsoft сменила несколько версий. За это время она выпускалась и для 16-разрядных процессоров и для 32-разрядных. А сегодня уже появились версии Windows для работы с 64-разрядными процессорами. Менялся не только дизайн системы, но и принципы ее внутренней архитектуры. Неизменным по сей день остается одно - наличие динамических библиотек (DLL), являющихся основными поставщиками функций (Application Programming Interface - API) для работы системы и приложений.

За время существования 32-разрядной Windows функции API не изменились, меняется лишь их количество. Для удобства разработчиков программы для Windows, все функции API разбиты на определенные категории и находятся в соответствующих библиотеках динамической компоновки (DLL). Вот не полный перечень таких библиотек, приведённый в таблице 1:

Таблица 1

Библиотека

Описание

kernel32.dll

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

user32.dll

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

gdi32.dll

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

comdlg32.dll lz32.dll version32.dll

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

advapi32.dll

Библиотека содержит функции для работы с реестром Windows и файлами инициализации (INI).

В данной библиотеке содержатся функции для использования Internet и FTP.

netapi32.dll

Сетевые функции Windows.

crypt32.dll cryptdll.dll cryptnet.dl

В библиотеках содержатся криптографические функции и функции для работы с крипто-провайдерами.

ntdll.dl

Иногда в других библиотеках API функции всего лишь объявлены, а реализованы в данной библиотеке, но с другим именем.

comctl32.dll

В этой библиотеке реализован новый (усовершенствованный) набор управляющих элементов Windows, в числе которых - иерархические списки и улучшенные текстовые поля.

mapi32.dll

Содержит функции для работы с электронной почтой.

odbc32.dll

Это одна из dll, реализующих архитектуру ODBC (Open Database Connectivity). Функции предоставляют API для работы с базами данных.

winmm.dll

Обеспечивает доступ к мультимедиа.


Эти DLL находятся в системной папке Windows. Есть API функции, которые были созданы во времена Windows 9x и которые не работают на операционных системах семейства Windows NT.API развивается очень быстро. Количество функций растет так быстро, что уследить за всеми новшествами практически невозможно. Но, к счастью, это и не нужно. Чтобы профессионально пользоваться Windows API, необязательно становиться знатоком во всех его областях. Важно понять основные концепции использования, предоставляемых Windows функций и научиться читать документацию по API.

Окно в Windows является объектом, занимающим прямоугольный участок экрана. Даже если окно будет круглым, все равно оно вписывается в ассоциированную с его контекстом прямоугольную область. Окно может содержать другие окна, называемые дочерними. С каждым окном связанны функциональные возможности, присущие только ему, либо имеющие общие для всех окон особенности. Окно обладает рядом характеристик:

Атрибуты. Концепция окна отличается чрезвычайной гибкостью, поэтому неудивительно, что окно обладает множеством атрибутов. Одни относятся к внешнему виду окна (размер, позиция, видимость и т.д.); другие - определяют поведение окна, способы обработки нажатий клавиш на клавиатуре и кнопок мыши.

Сообщения. С каждым окном связана специальная функция - функция окна (window function). В этой функции реализуется цикл обработки сообщений, получаемых от различных источников. Самыми важными являются сообщения самой операционной системы.

Функциональность. Каждое окно обладает определенной функциональностью, присущей только этому классу окон, либо имеющей общие черты с функциональностью других окон системы.

Реакция на сообщения также напрямую зависит от класса окна. Например, только у класса Static имеется возможность обработки сообщения STM_SETIMAGE, позволяющего ассоциировать с надписью какую-нибудь картинку или иконку.

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

Описание функций, использующихся в программах

Функция GetModuleHandle

function GetModuleHandle(ModuleName: PChar): THandle;

Считывает описатель модуля.

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

Возвpащаемое значение: в случае успешного завеpшения - идентификатоp модуля; 0 - в пpотивном случае.

Функция находится в файле kernel32.dll.

Функция GetCommandLine

Извлекает командную строку для текущего процесса.

Синтаксис:GetCommandLine(VOID)

Параметры:

У этой функции нет параметров.

Возвращаемые значения:

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

Функция ExitProcess

Заканчивает работу процесса и всех его потоков.

Синтаксис:ExitProcess ( UINT uExitCode );

Параметры:


Текущий пользователь




Вывод

В ходе данной курсовой работы были освещены основы 32-битного программирования на языке Assembler для ОС WINDOWS.

В приведённой программе для вызова API функций используется функция invoke, которая позволяет намного сократить текст программы и делает программы на языке ассемблера похожими на программы на ЯВУ

Компилятор MASM32, ОС Windows 7 SP1.

функция программа invoke

Список литературы

«WinAPI по-русски - справочник по функциям WinAPI»,URL http://develab.narod.ru/api/06.htm#9, (дата обращения 23.04.14).

«Win32 API и ассемблер», URL http://www.ironahot.idknet.com/ (дата обращения 23.04.14).

«Динамически подключаемая библиотека», URL http://ru.wikipedia.org/wiki/%C4%E8%ED%E0%EC%E8%F7%E5%F1%EA%E8_%EF%EE%E4%EA%EB%FE%F7%E0%E5%EC%E0%FF_%E1%E8%E1%EB%E8%EE%F2%E5%EA%E0, (дата обращения 23.04.14).

Пирогов В. Ю. «Ассемблер для Windows» - М.: Издатель Молгачева С.В., 2002. -552 с., ил.

Похожие работы на - Программа для вызова API функций

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!