GetProcAddress

yang2884 2008-05-10 10:30:37
LoadLibrary返回值不为空,但GetProcAddress()总返回空值,什么原因?
...全文
859 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
vocanicy 2008-05-12
  • 打赏
  • 举报
回复
你到网上找找,有个工具叫Dll2Lib可以从dll文件生成lib文件
kugou123 2008-05-12
  • 打赏
  • 举报
回复
看函数是否存在,函数名是否正确。
还要看你声明的函数指针类型是否和目标函数匹配。
lake_cx 2008-05-12
  • 打赏
  • 举报
回复
是啊,确实没问题,但是人家dll升级了名字可能会变,你得再重新找一次,然后改下名字再编译
dbger 2008-05-12
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 yang2884 的回复:]
用Depends查看DLL是否函数真的存在??


我用Depends看了,是?函数名@@YA?AVCOut@@XZ


是C++风格的导出DLL,不能直接用LoadLibrary和GetProcAddress调用
简单的方法是用导出的Lib库
[/Quote]

我没有Lib库.
我用GetProcAddress(hDll, "?函数名@@YA?AVCOut@@XZ ")是可以的调用该函数,但有没有问题呀?
[/Quote]

没问题,就是看着不太爽.
yang2884 2008-05-12
  • 打赏
  • 举报
回复
用Depends查看DLL是否函数真的存在??


我用Depends看了,是?函数名@@YA?AVCOut@@XZ


是C++风格的导出DLL,不能直接用LoadLibrary和GetProcAddress调用
简单的方法是用导出的Lib库
[/Quote]

我没有Lib库.
我用GetProcAddress(hDll, "?函数名@@YA?AVCOut@@XZ ")是可以的调用该函数,但有没有问题呀?
dbger 2008-05-11
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 yang2884 的回复:]
引用 3 楼 dbger 的回复:
引用 2 楼 yang2884 的回复:
GetLastError错误码提示:"找不到指定的程序", 但被调用的函数名在DLL里是有的呀? 不过,该DLL不是我写的,它的头文件里有声明.


用Depends查看DLL是否函数真的存在??


我用Depends看了,是?函数名@@YA?AVCOut@@XZ
[/Quote]

是C++风格的导出DLL,不能直接用LoadLibrary和GetProcAddress调用
简单的方法是用导出的Lib库
yang2884 2008-05-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dbger 的回复:]
引用 2 楼 yang2884 的回复:
GetLastError错误码提示:"找不到指定的程序", 但被调用的函数名在DLL里是有的呀? 不过,该DLL不是我写的,它的头文件里有声明.


用Depends查看DLL是否函数真的存在??
[/Quote]

我用Depends看了,是?函数名@@YA?AVCOut@@XZ
dbger 2008-05-10
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yang2884 的回复:]
怎么使用DEPENDS?在哪个菜单下?
[/Quote]

在Windows程序菜单VC菜单的TOOLS里面找找。
yang2884 2008-05-10
  • 打赏
  • 举报
回复
怎么使用DEPENDS?在哪个菜单下?
yang2884 2008-05-10
  • 打赏
  • 举报
回复
我是VC6
dbger 2008-05-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yang2884 的回复:]
请教如何用用"Depends查看"?不胜感激!!
[/Quote]

Depends是个工具,查看程序的DLL依赖等。

如果是VC6,里面带了。

也可以去下载:www.dependencywalker.com
dbger 2008-05-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yang2884 的回复:]
顺便说一句,我只有DLL和H文件,没有LIB文件.如何调用该DLL里的函数呢?
[/Quote]

就用你现在的方法LoadLibrary和GetProcAddress
yang2884 2008-05-10
  • 打赏
  • 举报
回复
请教如何用用"Depends查看"?不胜感激!!
yang2884 2008-05-10
  • 打赏
  • 举报
回复
顺便说一句,我只有DLL和H文件,没有LIB文件.如何调用该DLL里的函数呢?
dbger 2008-05-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yang2884 的回复:]
GetLastError错误码提示:"找不到指定的程序", 但被调用的函数名在DLL里是有的呀? 不过,该DLL不是我写的,它的头文件里有声明.
[/Quote]

用Depends查看DLL是否函数真的存在??
yang2884 2008-05-10
  • 打赏
  • 举报
回复
GetLastError错误码提示:"找不到指定的程序", 但被调用的函数名在DLL里是有的呀? 不过,该DLL不是我写的,它的头文件里有声明.
dbger 2008-05-10
  • 打赏
  • 举报
回复
可能是Get的函数不存在,GetLastError看看错误码。

15,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧