草庐IT

lockResource

全部标签

windows - lockResource() 返回一个指向未知结构的指针

我在Windows7上使用visualstudio2003。我正在尝试将二进制文件嵌入到Windows控制台应用程序(c++)中。我在资源脚本(.rc文件)中添加了以下行:SampleFileRCDATA"c:\\sample.zip"并且还添加了以下代码来访问该文件:HRSRChResource=FindResource(NULL,(LPCSTR)"SampleFile",RT_RCDATA);LPVOIDl=LockResource(hResource);现在,hResource是一个有效的句柄,LockResource也成功了,但是指针l指向某个结构,可能是一个header,后面

windows - 谁能解释一下FindResource/LoadResource/LockResource?

我通过LoadLibrary加载一个模块(exe/dll)并在其中获取一个二进制资源的指针。Microsoft说明应该使用三个步骤:使用FindResource返回HRSRC将LoadResource与HRSRC一起使用并返回HGLOBAL使用LockResource锁定HGLOBAL最终返回一个你想要的指针。我不明白微软为什么把这个流程设计的这么奇葩?如果要检测resource的长度,必须用第一步返回的指针使用SizeofResource,不能输入step2和step3返回的指针。如果检查从这些步骤输出的指针地址,我得到了结果:LoadLibrary加载的模块地址范围内的所有指针地址