看流星社区

 找回密码
 注册账号
查看: 2974|回复: 2

[VB] 在VB或其他不支持内联汇编的语言中直接使用汇编的方法

[复制链接]

该用户从未签到

发表于 2011-4-7 07:33:41 | 显示全部楼层 |阅读模式
提示:该方法不用使用其他语言的DLL。通过调用API来执行2进制代码实现。

采用调用CallWindowProc API接口,来实现对二进制代码的执行,通过这种方式能使得VB代码达到执行效率高过用C++来编制的代码

MachineCode = new byte[35];
MachineCode[0] = 0X55;//    'push ebp     
MachineCode[1] = 0x8B;//    'move ebp,esp
MachineCode[2] = 0xEC;                 
MachineCode[3] = 0x57;//    'push edi                 
MachineCode[4] = 0x52;//    'push edx                 
MachineCode[5] = 0x51;//    'push ecx                 
MachineCode[6] = 0x53;//    'push ebx   

这种方法很简单,就是需要翻译为机器码,高手请略过,仅供菜鸟们参考。

该用户从未签到

发表于 2011-4-7 07:33:58 | 显示全部楼层
这是callwindowproc声明方式。
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

请问上面提供的数组应该如何使用啊。是放在哪个参数里?

该用户从未签到

发表于 2011-4-7 07:34:08 | 显示全部楼层
MSDN里应该有吧
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-20 10:54

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表