吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1608|回复: 7
收起左侧

[求助] win32 如何判断系统中是否存在某dll

[复制链接]
c03xp 发表于 2021-2-18 14:00
求助大神:
以静态加载ws2_32.dll为例,需要在源代码加入 这句: #pragma comment( lib, "ws2_32.lib")

然后运行的时候,如果系统不存在ws2_32.dll,就会报错,然后main函数都进不了就退出了

现在的需求是,系统没有该dll也不报错,调用相关api的前通过某种方式进行判断,没有dll就不使用这个功能

再就是如果dll里面api较多,用动态加载的话,每个api调用一次GetProcAddress也是特别麻烦

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

南柯一梦Clear 发表于 2021-2-18 15:00
如果连系统所必需的dll都没有了,那么windows 还能运行的话,有什么意义呢
你与明日 发表于 2021-2-18 15:26
Module mWs2_32 = LoadLibrary("ws2_32.dll")
if(mWs2_32 !=NULL)
    pSend = GetProcAddress(mWs2_32 ,"send")

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
c03xp + 1 + 1 谢谢@Thanks!

查看全部评分

苏紫方璇 发表于 2021-2-18 16:17
想做动态的功能估计只能动态加载dll了,静态调用写进导入表的,缺文件肯定报错
宜城小站 发表于 2021-2-18 17:12
楼主是想排除冗余的 DLL 文件吗
tony666 发表于 2021-2-18 17:37
把 ws2_32.dll 相关操作封装在你自己的A.dll里,
主程序先判断ws2_32.dll 是否存在,如果不存在就不load A.dll,存在就load A.dll
 楼主| c03xp 发表于 2021-2-19 08:53
宜城小站 发表于 2021-2-18 17:12
楼主是想排除冗余的 DLL 文件吗

其实是个wpcap.dll,查ip用的,如果没有该dll,就不启用查ip的功能
 楼主| c03xp 发表于 2021-2-19 08:55
tony666 发表于 2021-2-18 17:37
把 ws2_32.dll 相关操作封装在你自己的A.dll里,
主程序先判断ws2_32.dll 是否存在,如果不存在就不load A ...

估计封装了也没用,只要是静态加载的,就会在main函数之前报错
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 07:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表