Автор: Роман Панышев (irrona)


Win32 API и ассемблер

Вступление

      Надеюсь, что мой вклад в понимание Application Programming Interface (API), имеющего широчайшее применение при создании любых приложений, расчитанных для работы в среде Windows, не останется незамеченным в кругах, близких к программированию.

      Сегодня ни один программист, создающий программы для Windows не обходится без использования API. Это я могу утверждать абсолютно компетентно. Даже если программисту кажется, что он не использует API, за него это делает компилятор или интерпретатор, используя в своей работе вызовы функций из стандартного набора библиотек Windows. Создание различного рода надстроек в виде регистрируемых компонентов (COM-объектов), без сомнения упрощает разработку программ, особенно большой сложности. Кроме этого, использование готовых компонентов зачастую позволяет абстагироваться от используемого языка программирования. НО!!! Это же ведет к тому, что многие программисты, особенно начинающие, считают ситуацию, при которой можно создать приложение, не написав почти ни строчки кода, нормальной. Они считают это достижением прогресса и не понимают, что эти самые компоненты кто-то все таки создал. Вот на тех, кто желает выйти за рамки понимания только лишь правил использования готовых наработок, кто хочет думать и пробовать, ошибаться и писать эффективный и быстрый код, расчитана эта серия статей.

      Наиболее полным сборником документации по API несомненно является Microsoft Developer Network Library (MSDN). Причем, чем свежее, тем лучше. Описание функций в MSDN приведено в нотации Microsoft Visual С++. В последних релизах MSDN также приведены способы вызова функций на различных высокоуровневых "новомодных" языках (C#, VB .NET, J# и т.д.). Я же буду использовать пакет masm32 Стивена Хатчессона (для тех, кто еще не скачал вот ссылка. Версия пакета большого значения не имеет, но по опыту могу рекомендовать версию не ниже 8-й. Поэтому примеры и описание параметров функций я также буду приводить в нотации masm32, чтобы не создавать дополнительной путаницы. Пакет masm32 включает довольно объемный набор включаемых файлов с объявлением API-функций. Удобством я считаю и то, что в случае отсутствия объявления необходимой мне функции или значения флага, я свободно могу добавить его в существующий включаемый файл, либо создать свой, либо поместить данное описание непосредственно в .asm файл проекта.

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

Вступление
Основные понятия
Окна и манипуляторы
Всё об окнах
Использование окон в Windows
Диалоговые окна


Следующая страница


© 2005 ironahot@idknet.com - при использовании статей просьба делать ссылку на автора