首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

asm调用MessageBoxA,该如何解决

2012-09-14 
asm调用MessageBoxA_declspec(naked)void main(){_asm{push 0push 0push 0push 0mov eax,7666EA71h//

asm调用MessageBoxA

_declspec(naked)void main()
{
  _asm
  {
  push 0;
  push 0;
  push 0;
  push 0;
  mov eax,7666EA71h; // 假设 0x7666EA71 是 MessageBoxA 的地址
  call eax;
  ret;
  }


这段asm代码可以完成MessageBox(0,0,0,0);的功能,

如果我想要完成MessageBox(0,"123","abc",0);的功能,

在不使用C/C++语言来定义"123"和"abc"两个字符串的情况下,asm代码应该怎么写?

也就是说用纯_asm语言来完成MessageBox(0,"123","abc",0);的功能。






[解决办法]
__asm
{
push '321'
push 'cba'
mov eax,esp
push 0
push eax
add eax,4
push eax
push 0
call dword ptr[MessageBoxA]
add esp,8
}

热点排行