push $00 //хэндл на окно
push <адрес_строки_с_нулём_на_конце> //текст мессаги
push <адрес_строки_с_нулём_на_конце> //заголовок мессаги
push $01 //параметры мессаги: кнапуси-иконки
call @MessageBox
Pascal for Windows
Я хочу из Турбо Паскаль фор ВыньДос вызвать Мэсадж бокс:
uses WinApi;
var data:word;
begin
asm;
push 0
call GetModuleHandle{получаем дескриптор модуля}
mov ax,data{Пересылаем в акумулятор}
push data{сохраняем дескриптор}
push $41{Без этого почему-то не работает}
push {Сюда что?Вроде данные о тексте и заголовке,но как его сюда засунуть?}
push 000001h{=MB_OKCANCEL}
call MessageBox(Вызываем Мэсадж бокс)
end;
end.
А них**** не получается!(текст+заголовок)
В Турбо Паскале для Виндовса доступен 16-разрядный режим!
Цитата:
Originally posted by Brezhnev1980
Помогите:
Я хочу из Турбо Паскаль фор ВыньДос вызвать Мэсадж бокс:
uses WinApi;
var data:word;
begin
asm;
push 0
call GetModuleHandle{получаем дескриптор модуля}
mov ax,data{Пересылаем в акумулятор}
push data{сохраняем дескриптор}
push $41{Без этого почему-то не работает}
push {Сюда что?Вроде данные о тексте и заголовке,но как его сюда засунуть?}
push 000001h{=MB_OKCANCEL}
call MessageBox(Вызываем Мэсадж бокс)
end;
end.
А них**** не получается!(текст+заголовок)
В Турбо Паскале для Виндовса доступен 16-разрядный режим!
Помогите:
Я хочу из Турбо Паскаль фор ВыньДос вызвать Мэсадж бокс:
uses WinApi;
var data:word;
begin
asm;
push 0
call GetModuleHandle{получаем дескриптор модуля}
mov ax,data{Пересылаем в акумулятор}
push data{сохраняем дескриптор}
push $41{Без этого почему-то не работает}
push {Сюда что?Вроде данные о тексте и заголовке,но как его сюда засунуть?}
push 000001h{=MB_OKCANCEL}
call MessageBox(Вызываем Мэсадж бокс)
end;
end.
А них**** не получается!(текст+заголовок)
В Турбо Паскале для Виндовса доступен 16-разрядный режим!
В messagebox-е существуют дополнительные параметры
messagebox([заголовок],[текст сообщения],[иконка],[кнопка]);
Ладно,как его вызывать(пример)...
Цитата:
Originally posted by Brezhnev1980
Ладно,как его вызывать(пример)...
Ладно,как его вызывать(пример)...
Смотрел в CPU окне в Delphi:
Код:
В асме не рублю, но по моему надо получить адреса на строки.....
Цитата:
Originally posted by hardcase
В асме не рублю, но по моему надо получить адреса на строки.....
В асме не рублю, но по моему надо получить адреса на строки.....
А зачем вообще делать это на асме? Прикол такой? Я бы понял, если бы там графика считалась бы, или ещё что-то критичное. А тут... Нет, конечно, если охота заниматься любовью, то на здоровье. Но, ИМХО, втыкать асм куда ни попадя не очень рационально.