vs2017下的debug x64 在获取本机信息时没有加载icePubDll.dll成功

gussie 2019-03-12 09:55:10
问题情况:
环境是win10 64位、vs2017 debug x64 (x86 调试下可以获取到计算机信息)
代码如下:

CString m_PcCode_Edit ;
char buff[1024] = { 0 };
HINSTANCE hDLLDrv = LoadLibrary(L"icePubDll.dll");
if (hDLLDrv) {
typedef int (WINAPI ICEPUB_MACHINEGETINFO)(int typeFlag, char *strInfo);
ICEPUB_MACHINEGETINFO *icePub_machineGetInfo = 0;

icePub_machineGetInfo = (ICEPUB_MACHINEGETINFO *)GetProcAddress(hDLLDrv, "icePub_machineGetInfo");

if (icePub_machineGetInfo) {
icePub_machineGetInfo(1, buff);
m_PcCode_Edit = buff;//mac
icePub_machineGetInfo(2, buff);
m_PcCode_Edit += buff;//cpu
icePub_machineGetInfo(3, buff);
m_PcCode_Edit += buff;//hard
icePub_machineGetInfo(4, buff);
m_PcCode_Edit += buff;//memery
icePub_machineGetInfo(5, buff);
m_PcCode_Edit += buff;//biosdate
AfxMessageBox(m_PcCode_Edit);
}

//FreeLibrary(hDLLDrv);
}
...全文
262 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gussie 2019-03-12
  • 打赏
  • 举报
回复
接上面:问题是:在debug x64运行时
HINSTANCE hDLLDrv = LoadLibrary(L"icePubDll.dll");
这行hDLLDrv 为NULL。
在debug x86 下运行时 hDLLDrv就有数据
这是为什么?

gussie 2019-03-12
  • 打赏
  • 举报
回复
这种情况试过了,如果vs2017 debug x86运行没问题,可以获取到数据,但是x64环境运行,提示是icePubDll.dll已加载,随后就卸载了
窝米逗佛~ 2019-03-12
  • 打赏
  • 举报
回复
https://www.cr173.com/soft/434225.html
百度一下就有了 啊 还带注册方法呢
gussie 2019-03-12
  • 打赏
  • 举报
回复
邮箱:99538477@qq.com
xiaomer 2021-12-22
  • 举报
回复
@gussie 这个是用vc6编译的,不好弄64位库
gussie 2019-03-12
  • 打赏
  • 举报
回复
找到原因了,icePubDll.dll为32位文件,而x64需要运行64位文件,所以加载32位的icePubDll.dll文件失败,获取不到数据,请问哪位有64位的icePubDll.dll文件,发我邮箱,或告诉我下载地址,高分相送。

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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