![]() |
![]() |
gMan |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 69 Пол: Мужской Реальное имя: Вася Пупкин Репутация: ![]() ![]() ![]() |
Решил написать про программирование на асме под Win32.
И так сегодня в номере ![]() ![]() Мы разберем простую программу, которая выводит только окно. Я взял пример программы Wap32.asm из пакета TASM и несколько упростил ее. .386 Файл win32.inc содержит некоторые нужные константы и структуры
Получим дескриптор программы. Далее инициализируем структуру WndClass для регистрации окна
clsStyle - определяет стиль класса
clsLpfnWndProc - указывает на процедуру окна
clsHInstance - содержит дескриптор программы
clsLpszClassName - определяет имя класса окна
Создаем окно:
newhwnd - дескриптор окна Покажем окно:
Обновим окно:
Создаем цикл для обработки сообщений окна
выход из программы:
Процедура окна: WndProc proc uses ebx edi esi, hwnd:DWORD, wmsg:DWORD, Win32 требует, чтобы EBX, EDI, и ESI были сохранены
На первый взгляд кажется, что слишком много написано для простой программы. На самом же деле писать все полностью не нужно, достаточно написать файл один раз, а потом использовать его как шаблон для своих новых программ. Можно создать объектный файл и использовать его как загрузочный код, а писать только процедуру окна (WinProc). А в следующий раз мы разберём что нибудь посложнее... -------------------- Стабильность - признак мастерства
|
![]() ![]() |
Dark |
![]()
Сообщение
#2
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 408 Пол: Мужской Репутация: ![]() ![]() ![]() |
Хотя конечно интересный факт =) что на форуме паскаля в теме асм пишут на си :D :D
![]() Но я не в обиде, так держать! Сам могу добавить НЕ МОИ уроки, там МНОГО чего К сожалению - тоже на СИ, на выжл си Между прочим, мне не сложно переделать их на Дельфи. Надо??? Вот только темы которые там 01 - Первая программа Win32 02 - Контекст устройства 03 - Цветной текст 04 - Ввод с клавиатуры 05 - Ввод с клавиатуры часть 2 06 - Ввод с помощью мыши 07 - Ввод с помощью мыши часть 2 08 - Ввод мышью и цвет фона 09 - HPENs 10 - HBRUSHs 11 - Рисование контуров 12 - Полный экран 13 - Полный экран часть 2 14 - Горизонтальная прокрутка 15 - Установка значка 16 - Установка курсора 17 - Меню 18 - Меню часть 2 19 - Диалоговые окна -------------------- - Где я?
- Во тьме. - В какой тьме? - Во тьме твоего мозга. |
![]() ![]() |
![]() |
Текстовая версия | 22.06.2025 0:10 |