niufen 发表于 2011-4-7 07:33:41

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

提示:该方法不用使用其他语言的DLL。通过调用API来执行2进制代码实现。

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

MachineCode = new byte;
MachineCode = 0X55;//    'push ebp   
MachineCode = 0x8B;//    'move ebp,esp
MachineCode = 0xEC;               
MachineCode = 0x57;//    'push edi               
MachineCode = 0x52;//    'push edx               
MachineCode = 0x51;//    'push ecx               
MachineCode = 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

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

chc2203 发表于 2011-4-7 07:34:08

MSDN里应该有吧
页: [1]
查看完整版本: 在VB或其他不支持内联汇编的语言中直接使用汇编的方法