Последние записи
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
25th
Май
Создание окна (asm) с использованием WinApi
Posted by Chas under Пост-обзор
Как можно создать главное окно программы
Mikl___:
Это на МАСМе написано для WinXP
.686P
.model flat
includelib user32.lib
includelib kernel32.lib
include windows.inc
extern _imp__CreateWindowExA@48:dword
extern _imp__DefWindowProcA@16:dword
extern _imp__DispatchMessageA@4:dword
extern _imp__GetMessageA@16:dword
extern _imp__ExitProcess@4:dword
extern _imp__RegisterClassA@4:dword
.code
start: xor ebx,ebx
mov edi,offset wTitle
mov esi,400000h
push edi
push ebx
push COLOR_WINDOW+1
push 10011h
push ebx
push esi
push ebx
push ebx
push offset WndProc
push ebx
push esp
call _imp__RegisterClassA@4
push ebx
push esi
shl esi,9;esi=CW_USEDEFAULT
push ebx
push ebx
push esi
push esi
push esi
push esi
push WS_OVERLAPPEDWINDOW + WS_VISIBLE
push edi; szWinTitle
push edi; lpszClassName
push ebx
call _imp__CreateWindowExA@48 ;создать окно
mov ebp,esp
message_loop: push ebx ;цикл обработки сообщений
push ebx
push ebx
push ebp
call _imp__GetMessageA@16
push ebp
call _imp__DispatchMessageA@4 ;вернуть управление Windows
jmp short message_loop
WndProc:
cmp dword ptr [esp+8],WM_DESTROY;Msg,WM_DESTROY
je short @@WM_DESTROY
jmp _imp__DefWindowProcA@16 ;все сообщения, не обрабатываемые в функции WndProc, направляются на обработку по умолчанию
@@WM_DESTROY: push ebx ;завершение программы
call _imp__ExitProcess@4
.data
wTitle db 'Iczelion Tutorial #3:A Simple Window in masm',0
end start
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)