还是一个老套的问题??资源文件的读取 FindResource()

zygod625 2008-12-08 08:28:58
读取一资源 ID为 IDR_WAV.
调用 FindResource() 是出问题...

C/C++ code

LPSTR szResourceType = "BIN_DATA"; // 资源的类型 HRSRC hRes = FindResource(NULL, MAKEINTRESOURCE(nIDResource),szResourceType); // 查找资源句柄 //HRSRC hRes = FindResource(hInstance, MAKEINTRESOURCE(nIDResource),szResourceType); // 查找资源句柄


编译器是不报错的 。。。
但是hRes在调试时提示
unused:CX0030:ERROR : expression cannot be evaluated


FindResource()的第一个参数要怎么设置?原型
HRSRC FindResource(
HMODULE hModule,
LPCTSTR lpName,
LPCTSTR lpType
);

另外,我的资源是一个导入的 .wav音频, ResourceType 是那样设置的吗 "BIN_DATA" ??

发现CSDN上有不少人在问FindResource(),看了半了也没有看出什么来。。
有人做过或者懂的话,还望指点??
...全文
1224 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜牛 2008-12-09
  • 打赏
  • 举报
回复
第一个参数是资源所在的模块句柄,为NULL默认为当前模块(如果你的资源放在加载的DLL中,就要用对应的模块句柄了)。
zygod625 2008-12-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 Mackz 的回复:]
第一个参数是资源所在的模块句柄,为NULL默认为当前模块(如果你的资源放在加载的DLL中,就要用对应的模块句柄了)。
[/Quote]

那第三个参数的 选取有什么要求吗 ??

还是说 我给 SourceName 随便初始化一个字符串 ,都是可以的?

是不是lpType 随着我导入的资源的不同(比如光标、比如图片、比如对话框...)而不同???
zygod625 2008-12-08
  • 打赏
  • 举报
回复
To oyljerry:
这个我有看过了,
也试了他的方法,结果不行 还是返回NUll

而且 hRes在调试时总是 unused ...十分困惑 ./

还有这个FindResource()的第一个参数的使用一说是的 NULL 一说是 hInstance =GetModuleHandle()

这两个有什么区别吗??




oyljerry 2008-12-08
  • 打赏
  • 举报
回复
http://topic.csdn.net/t/20010216/09/70292.html
孤客天涯 2008-12-08
  • 打赏
  • 举报
回复
参考下面的
DWORD dwWritten = 0;
HRSRC hServiceExecutableRes = NULL;
HMODULE hInstance = ::GetModuleHandle(NULL);

// Find the binary file in resources
#ifdef _DEBUG
hServiceExecutableRes = ::FindResource(
hInstance,
MAKEINTRESOURCE(IDR_DEBUG_DLL),
_T("DEBUG_DLL")
);
#else
hServiceExecutableRes = ::FindResource(
hInstance,
MAKEINTRESOURCE(IDR_RELEASE_DLL),
_T("RELEASE_DLL")
);
#endif
HGLOBAL hServiceExecutable = ::LoadResource(
hInstance,
hServiceExecutableRes
);

LPVOID pServiceExecutable = ::LockResource(hServiceExecutable);

16,538

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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