VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 443|回复: 9

[求助] 为什么DLL加载资源文件失败

[复制链接]
16_avatar_middle
在线会员 东关之南 发表于 2018-2-3 21:40:05 | 显示全部楼层 |阅读模式
3驿站币
本帖最后由 东关之南 于 2018-2-3 21:49 编辑

如题
为什么DLL加载资源文件失败

HRSRC        hRsrc=NULL;
HGLOBAL        hGbl=NULL;
DWORD        dwResSize=0;

hRsrc=FindResource(NULL,MAKEINTRESOURCE(IDR_DAT1),"DAT");
hGbl=LoadResource(NULL,hRsrc);
dwResSize=SizeofResource(NULL,hRsrc);
CopyMemory(byData,hGbl,dwResSize);
GlobalFree(hRsrc);





上一篇:C语言黑客教程的问题(为什么教程的后门只能在局域网实现功能,在不同网络的计算机不能
下一篇:组合框GetComboBoxInfo的使用

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

16_avatar_middle
ico_lz  楼主| 东关之南 发表于 2018-2-3 21:50:56 | 显示全部楼层
@Syc 拜托了

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

01_avatar_middle
online_admins admin 发表于 2018-2-3 21:54:16 | 显示全部楼层

楼主应该是没有进行资源的切换,因为默认资源查找的主题是EXE文件,所以查找之前要先切换到DLL才行!
楼主不妨看看这两篇文章,肯定可以解决你的问题:

在DLL中使用资源(一):http://www.cctry.com/thread-5516-1-1.html
在DLL中使用资源(二):http://www.cctry.com/thread-5517-1-1.html

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

16_avatar_middle
ico_lz  楼主| 东关之南 发表于 2018-2-4 11:41:22 | 显示全部楼层
admin 发表于 2018-2-3 21:54
楼主应该是没有进行资源的切换,因为默认资源查找的主题是EXE文件,所以查找之前要先切换到DLL才行!
楼 ...

    AFX_MANAGE_STATE(AfxGetStaticModuleState());
        HRSRC        hRsrc=NULL;
        HGLOBAL        hGbl=NULL;
        DWORD        dwResSize=0;

        hRsrc=FindResource(NULL,MAKEINTRESOURCE(IDR_DAT1),"DAT");
        hGbl=LoadResource(NULL,hRsrc);
        dwResSize=SizeofResource(NULL,hRsrc);
        CopyMemory(byRandomData,hGbl,dwResSize);
        GlobalFree(hRsrc);
是这样吗?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

16_avatar_middle
ico_lz  楼主| 东关之南 发表于 2018-2-4 11:56:01 | 显示全部楼层
我按照两篇文章中说的还是不行啊
@Syc
能说的详细点吗

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

01_avatar_middle
online_admins admin 发表于 2018-2-4 12:31:02 | 显示全部楼层
东关之南 发表于 2018-2-4 11:56
我按照两篇文章中说的还是不行啊
@Syc
能说的详细点吗

代码改成什么样子了,资源切换了吗?代码贴上来看看

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

16_avatar_middle
ico_lz  楼主| 东关之南 发表于 2018-2-4 19:33:11 | 显示全部楼层
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
        HRSRC        hRsrc=NULL;
        HGLOBAL        hGbl=NULL;
        DWORD        dwResSize=0;

        hRsrc=FindResource(NULL,MAKEINTRESOURCE(IDR_DAT1),"DAT");
        hGbl=LoadResource(NULL,hRsrc);
        dwResSize=SizeofResource(NULL,hRsrc);
        CopyMemory(byRandomData,hGbl,dwResSize);
        GlobalFree(hRsrc);

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

01_avatar_middle
online_admins admin 发表于 2018-2-4 22:18:44 | 显示全部楼层
东关之南 发表于 2018-2-4 19:33
AFX_MANAGE_STATE(AfxGetStaticModuleState());
        HRSRC        hRsrc=NULL;
        HGLOBAL  ...

FindResource、LoadResource、SizeofResource
几个函数的返回值都判断下,看看到底哪个函数执行失败了

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

97_avatar_middle
在线会员 kuroro 发表于 2018-2-5 09:21:31 | 显示全部楼层
不是应该还有个 LockResource吗

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-10-20 13:39

Powered by Discuz! X3.4

© 2009-2018 cctry.com

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