C ++中的嵌入式资源

时间:2009-07-02 13:32:21

标签: c++ winapi visual-studio-2005

如何创建嵌入式资源,然后从C ++访问它?

有关如何阅读资源的任何示例都会很棒。

我正在使用Visual Studio 2005。

提前致谢。

编辑:我想在验证收到的xml文件的架构时放置一个xsd文件。

2 个答案:

答案 0 :(得分:9)

我正在做@Sharptooth之前解释并使用以下代码获取资源

HRSRC hResInfo = FindResource(hInstance, MAKEINTRESOURCE(resourceId), type);
HGLOBAL hRes = LoadResource(hInstance, hResInfo);
LPVOID memRes = LockResource(hRes);
DWORD sizeRes = SizeofResource(hInstance, hResInfo);

您需要更改resourceIdtype

例如,对于.png文件,我使用FindResource(hInstance, MAKEINTRESOURCE(bitmapId), _T("PNG"));(“PNG”字符串是您在添加自定义资源时使用的类型)。

答案 1 :(得分:4)

将资源(.rc)文件添加到项目中,将资源描述放在那里。构建项目时,资源编译器将编译资源文件,链接器将编译后的资源文件链接到生成的可执行模块中。

在运行时调用FindResource(),然后LoadResource()WinAPI函数。

相关问题