如何创建嵌入式资源,然后从C ++访问它?
有关如何阅读资源的任何示例都会很棒。
我正在使用Visual Studio 2005。
提前致谢。
编辑:我想在验证收到的xml文件的架构时放置一个xsd文件。
答案 0 :(得分:9)
我正在做@Sharptooth之前解释并使用以下代码获取资源
HRSRC hResInfo = FindResource(hInstance, MAKEINTRESOURCE(resourceId), type);
HGLOBAL hRes = LoadResource(hInstance, hResInfo);
LPVOID memRes = LockResource(hRes);
DWORD sizeRes = SizeofResource(hInstance, hResInfo);
您需要更改resourceId
和type
。
例如,对于.png文件,我使用FindResource(hInstance, MAKEINTRESOURCE(bitmapId), _T("PNG"));
(“PNG”字符串是您在添加自定义资源时使用的类型)。
答案 1 :(得分:4)
将资源(.rc)文件添加到项目中,将资源描述放在那里。构建项目时,资源编译器将编译资源文件,链接器将编译后的资源文件链接到生成的可执行模块中。
在运行时调用FindResource(),然后LoadResource()WinAPI函数。