Меньший размер подключаемой библиотеки
format PE GUI 4.0
include 'win32a.inc'
entry start
section '.data' data readable writeable
MBoxHwnd=HWND_DESKTOP
MBoxTitle db 'MessageBox',0
MBoxText db 'Привет',0
MBoxStyle=MB_OK
section '.code' code readable executable
start:
invoke MessageBox, MBoxHwnd, MBoxText, MBoxTitle, MBoxStyle
invoke ExitProcess,0
section '.library' import data readable writeable
library KERNEL32, 'KERNEL32.DLL',\
USER32, 'USER32.DLL'
import KERNEL32,\
ExitProcess, 'ExitProcess'
import USER32,\
MessageBox, 'MessageBoxA'
'-' подключается минимум кода
'+' писать приходится больше кодаformat PE GUI 4.0 ;использовать формат PE, графическая подсистема
include 'win32a.inc' ;вставляет в указанное место текст из другого файла при компиляции
section '.data' data readable writeable ; подключение секции данных
MBoxHwnd=HWND_DESKTOP ; числовая переменная
MBoxTitle db 'MessageBox',0 ; переменная-указатель, указывает на первый символ строки, строка читается до нуля
MBoxText db 'Привет',0 ; переменная-указатель, указывает на первый символ строки, строка читается до нуля
MBoxStyle=MB_OK ; числовая переменная
section '.code' code readable executable ; подключение секции кода
start: ; метка с этого места начнет исполняться наша программа
invoke MessageBox, MBoxHwnd, MBoxText, MBoxTitle, MBoxStyle ; макроинструкция invoke. Она вызывает встроенную в Windows API-функцию MessageBox.
invoke ExitProcess,0 макроинструкция invoke. Она вызывает встроенную в Windows API-функцию ExitProcess.
section '.library' import data readable writeable;подключение библиотеки
library KERNEL32, 'KERNEL32.DLL',\
USER32, 'USER32.DLL'; подключается библиотека KERNEL32.DLL,USER32.DLLimport KERNEL32,\
ExitProcess, 'ExitProcess'; в библиотеке KERNEL32.DLL используем функию ExitProcessimport USER32,\
MessageBox, 'MessageBoxA';в библиотеке USER32.DLL используем функию MessageBoxA
Отредактировано Artem (2013-12-09 22:56:31)