Win32Asm Tutorial |
![]() | назад | 12- Первая программа | вперед | ![]() |
12.0 - Первая программа
Пришло время создать вашу первую программу. Указания в этом уроке выделенны вот так, следуйте указаниям.
12.1 - Шаг 1
Если все хорошо, то у вас должна быть папка 'win32' (или 'win32asm') на вашем жестком диске, на том-же, что и 'masm'. Для каждого проекта вы должны создавать папку.
Создайте подпапку 'Firstprogram' в папке win32. Создайте новый текстовый файл и переименуйте его в 'first.asm'.
Важно: если вы используете ultraedit, удостоверьтесь , что установили мой 'wordfile' и переключитесь на окно 'functions' (view, views/lists, function list). Наконец, удостоверьтесь, что установили значение tab stop на 4 пробела (Advanced, configuration, Edit tab)
12.2 - Шаг 2
Поместите следующий код в first.asm:
.486
.model flat, stdcall
option casemap:none
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
include \masm32\include\windows.inc
Пока нам нужны только два dll: kernel32 и user32.
12.3 - Шаг 3
Мы собираемся сделать известную всем программу 'Hello world'. Чтобы отобразить строку 'hello world', мы будем использовать окно сообщений (messagebox). Messagebox создан, используя функцию MessageBox. Вы можете найти эту функцию в win32 справочнике программиста (см. урок 2). Вот, что там говорится:
Функция MessageBox создает, отображает, и использует окно сообщений. Окно сообщений содержит определенное приложением сообщение и заголовок, плюс любая комбинация предопределенных значков и кнопок.
int MessageBox(
HWND hWnd, // хэндл (дескриптор) окна владельца
LPCTSTR lpText, // адрес текста в окне сообщений
LPCTSTR lpCaption, // адрес заголовка окна сообщений
UINT uType // стиль окна сообщений
);
Параметры
hWnd | устанавливает владельца окна сообщений, которое будет создано. Если этот параметр NULL (ПУСТОЙ), окно сообщений не имеет никакого владельца. |
lpText | Указывает на строку с нулевым символом в конце, содержащую сообщение, которое будет отображено. |
lpCaption | Указывает на строку с нулевым символом в конце, используемую для заголовка диалогового окна. Если этот параметр NULL, используется заданный по умолчанию заголовок - ошибка. |
uType | Определяет флаги, которые определяют содержание и поведение диалогового окна. Этот параметр может быть комбинацией флагов из следующих групп флагов. |