29.12.2024
| Главная | Поиск | Регистрация | Профиль | Вход | Выход |
Категории
Наши статьи [9]
Реклама
Реклама
Интересное
Главная » Статьи » Наши статьи » Наши статьи

MessageBox
Вот пример создания простого окна сообщения(MessageBox) на MASM'е:
Код:

.386

.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc

includelib \masm32\lib\kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib

.data
MsgBoxCaption db "Первая прога под Win_32",0
MsgBoxText db "Hello world!!!",0

.code
start:

invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK
invoke ExitProcess, NULL
end start
Вся программа заключается всего в одной строчке кода:
Код:

invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK

Вот как в документах описана эта ф-ия
int MessageBox( INT MessageBox (
    HWND hWnd , HWND HWND,
    LPCTSTR lpText , LPCTSTR lpText,
    LPCTSTR lpCaption , LPCTSTR lpCaption,
    UINT uType UINT uType
); );
Теперь подробно разберем ее параметры
1)NULL - дескриптор владельца окна окна, которая будет создана.Если этот параметр NULL,
 то сообщение не имеет владельца окна.
(т.е. дискриптор)
2)addr MsgBoxText - строка которая будет в нашем окошке
3)addr MsgBoxCaption - заголовок окна
4)
MB_OK - стиль кнопки, т.е. у нас будет просто окно с кнопкой OK
Параметры передаются в стэк в обратном порядке по соглашению stdcall
Теперь запишем наше окошко уже не с помощью API, а на языке Ассемблера:
Код:

.386

.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc

includelib \masm32\lib\kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib

.data
MsgBoxCaption db "Первая прога под Win_32",0
MsgBoxText db "Hello world!!!",0

.code
start:

push 0
push offset MsgBoxCaption
push offset MsgBoxText
push 0
call MessageBox

push 0 ; нулевой(пустой) параметр для
call ExitProcess ; ф-ии выхода из программы

end start
В следующий раз попробуем создать разными путями окошко под Винду
                                                                                                                                                                      составил  MalCer
Категория: Наши статьи | Добавил: MalCer (30.07.2009)
Просмотров: 429 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Реклама
Кабинет

Читать ЛС ()

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!



Фраза дня:
Кто с нами

Сегодня были:
Статистика
Партнеры
Graffiti Decorations(R) Studio (TM) Site Promoter Mnogo-softa.net.ru-Софт,срипты,шаблоны и др. MEGA-ToP-ТОП раскрутка раскрутка сайтов. Рейтинг лучших сайтов
описание