现在我有a.dll和a.h,a.dll对应a.h,即a.h文件内,有a.dll中函数的声明 。
这两个文件可以完成一定的功能。现在,我还想要a.dll中的功能,但我想把a.dll的文件名,由a.dll改成b.dll,
请问能否实现?如何实现。注:我没有a.dll的源代码,有的只有这个.dll和对应的头文件!谢谢~~
这两个文件可以完成一定的功能。现在,我还想要a.dll中的功能,但我想把a.dll的文件名,由a.dll改成b.dll,
请问能否实现?如何实现。注:我没有a.dll的源代码,有的只有这个.dll和对应的头文件!谢谢~~
你把动态调用那段代码帖出来看看呢。肯定有什么地方没弄对。
应该是需要.lib吧?那要是需要.lib,就更不能改名了吧?我觉得pomelowu说的还是有道理。
你可能是使用mfc方式的dll!所以要依赖头文件!
用LoadLibrary使用dll中的函数,
头文件.h只是为了得到函数的原型,以便能够正确调用函数.
你还是得typedef一个函数指针.比如:
//.h文件就是为了得到函数得原型,工程中是不需要包含它的
typedef int (__stdcall *MyMessageBox)(HWND hWnd,
LPCTSTR lpText,
LPCTSTR lpCaption,
UINT uType
);
HMODULE hmod = LoadLibrary("user32.dll");
if(hmod)
{
MyMessageBox func = (MyMessageBox)GetProcAddress(hmod, _T(MessageBoxA));
func(0,"text","title",0);
FreeLibrary(hmod);
}