文件dllTest.def内容如下
LIBRARY "dllTest"
DESCRIPTION 'TEST Windows Dynamic Link Library'
EXPORTS
; Explicit exports can go here
vDllTest @1
根据序号调用vDllTest
GetProcAddress(hDLL, (char *)(1));
FARPROC GetProcAddress(
HMODULE hModule,
LPCSTR lpProcName
);
第二个参数LPCSTR lpProcName有什么要求没有?
------Solutions------
库的名字;
http://msdn.microsoft.com/zh-cn/library/64tkc9y5(VS.80).aspx
VS下面用UNICODE;比如:
_T("TESTDLL")
------Solutions------
查一下MSDN
------Solutions------
如果要获取的函数是以名字导出的,lpProcName就是函数名,
ANSI字符串,不需要Unicode。
比如:
PVOID p = (PVOID)GetProcAddress(hDll,"LoadLibraryW");
如果是以序号导出的,lpProcName为一个WORD值,低位为函数序号,高位为0.
------Solutions------
对应目标动态链接库导出符号的名字,
如果是序号的话,范围要在1到最高导出函数序号值之间。
------Solutions------
没什么要求,以防万一,你加个 _T()宏得了
------Solutions------
楼上几位不要误导,GetProcAddress第二个参数只有ASCII形式的,就是DLL导出的函数名称。
------Solutions------
引用3楼的说法:PVOID p = (PVOID)GetProcAddress(hDll,"LoadLibraryW"); 就是这样用的.
------Solutions------
也就是说是在Dll里面定义的函数的名称吗?
------Solutions------
只需要ANSI的字符串,从函数参数为LPCSTR也可以看出。
------Solutions------
明确导出的,用def文件或者__declspec( dllexport )导出的符号。
------Solutions------
正解!顶这个。
------Solutions------
谢谢Mackz和DavidHsing
------Solutions------
------Solutions------
貌似都能用
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。