我知道用LoadLibrary动态载入,但是我要调用的是其他目录我自己写的dll,怎么加上路径这些?
用GetProcAddress获得调用函数地址指针后要怎么传递参数啦?
有人说用汇编来压入参数,但是要怎么压勒?
上面工作都完了要怎么调用勒?
分不多只有20,期待好心人!!!
我知道用LoadLibrary动态载入,但是我要调用的是其他目录我自己写的dll,怎么加上路径这些?
用GetProcAddress获得调用函数地址指针后要怎么传递参数啦?
有人说用汇编来压入参数,但是要怎么压勒?
上面工作都完了要怎么调用勒?
分不多只有20,期待好心人!!!
可将DLL复制一份放到程序目录里就不用加路径
也可以LoadLibrary(_T("D:\\test\\test.dll")); 注意是两个\
既然是你自己写的函数,定义什么的不都是现成的吗?
用typedef定义一个函数指针,并声明一个变量
比如你函数是
int test( int a, int b);
就
typedef int (testfunc)(int a, int b);
testfunc fun;
fun = (testfunc)GetProcAddress(xxxxx);
int x=1, y=2, z;
z = fun(x, y); //传递参数
汇编的话要考虑你DLL函数的参数压入顺序。一般是从右至左压入
p = GetProcAddress(xxx);
__asm {
pushad
mov eax, y
push eax
mov eax, x
push eax
mov esi, p
call esi
mov z, eax
popad
}