内存加载DLL并调用函数--VB
从内存中加载并调用DLL的代码,很邪恶,VBGOOD的仙剑魔同学从C翻译成VB的。
直接在内存中调用DLL中的函数,根据这个代码会产生很邪恶的想法,进而编出很邪恶的程序。。。。我啥也没说。。。
使用方法:
Dim data() As Byte Dim handle As Long Dim fun_stdcall As Long Open "SampleDLL.dll" For Binary As #1 ReDim data(0 To LOF(1) - 1) Get #1, , data Close #1 '先将DLL读取BYTE数组中 handle = MemoryLoadLibrary(VarPtr(data(0))) '加载DLL fun_cdecl = MemoryGetProcAddress(handle, "subNumbers") '取得函数地址 Debug.Print CallFunc_cdecl(fun_cdecl, 1, 2) '调用函数 Call MemoryFreeLibrary(handle) '擦屁股。。。 Erase data '释放数组内存
VB代码下载:
也附上C的源代码吧: