vb动态加载dll的一个类,实现vb动态加载dll并动态调用dll导出的函数的一个方便办法自从会vb用调用动态库函数以来,我一直在想:如何动态的调用dll里的函数
网上有一个用CallWindowProc函数的方法,不过我还是喜欢自己有个办法
今天工夫不负有心人,我终于把我心中一直想的办法给实现了,干脆就往自己的空间上贴吧
错误的地方,希望可以得到有这方面的师傅给以指正,以求进步
对于系统api我没有尝试,如果调用约定相符,应该适用于对系统api的调用
我自己用c写个dll,然后在vb里写了这个类
以下代码只是我简单的实现,主要的是看实现的道理
vc代码:///'我把dll文件名命名为:dll#include#include#include#include'stdafx
h'BOOLAPIENTRYDllMain(HANDLEhModule,DWORDul_reason_for_call,LPVOIDlpReserved){returnTRUE;}extern'C'BOOL_declspec(dllexport)add(inta){MessageBoxA(NULL,'运行在dll里
','成功',MB_OK);a=999;return1;}///vb代码:'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''类代码:Private状态标志AsBooleanPrivate模块句柄AsLongPrivate本地函数地址备份(0To4)AsBytePrivate被替换函数的地址AsLongPublicFunction替换函数地址(模块名AsString,函数名AsString,本地函数地址AsLong)AsBooleanIf0=本地函数地址Then替换函数地址=0ExitFunctionEndIf被替换函数的地址=替