如何得到资源内存的大小,急!!!!

loutingyv 2000-08-22 10:02:00
我用HGLOBAL gl=loadResource(...)装入一个自定义的资源,
用size=Globalsize(gl)时程序崩溃,我无法解决这个问题,
那位大虾帮忙

...全文
129 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
FBStudio 2000-08-23
  • 打赏
  • 举报
回复
HRSRC hrsrc=FindResource(hinst,MAKEINTRESOURCE(IDR_ID),RT_RCDATA);
DWORD size=SizeofResource(hinst,hrsrc);
LPBYTE pb=(LPBYTE)LockResource(LoadResource(hinst,hrsrc));
loutingyv 2000-08-23
  • 打赏
  • 举报
回复
那Globalsize()为什么不行呢?
dandycheung 2000-08-23
  • 打赏
  • 举报
回复
这个问题很不好回答。Windows系统中的句柄这个东西很复杂,他代表的意义不是固定的,虽然他经常是代表其实地址。GlobalSize()是用来检查一块内存,既然在检查资源时失败,显然有某种因素导致了他识别整个资源为一整块内存,具体需要问微软这两个函数是如何实现的以及内存分配和资源格式的详细细节。
U皮特U 2000-08-22
  • 打赏
  • 举报
回复
没错,MSDN中推荐使用SizeofResource。MSDN中与资源有关的内容在:平台SDK/User Interface Services/Resources/Resources
关于资源大小的内容在该主题下的About Resources/Adding,Deleting,and Replacing Resources
dandycheung 2000-08-22
  • 打赏
  • 举报
回复
有一个API函数你为什么不用?
DWORD SizeofResource(
HMODULE hModule, // resource-module handle
HRSRC hResInfo // resource handle
);

2,586

社区成员

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

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