2009-07-02 111 views
6

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

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

我正在使用Visual Studio 2005.

在此先感谢。

编辑:我想把一个xsd文件,这是必需的,同时验证接收到的XML文件的架构。

回答

9

我做@Sharptooth之前解释和使用下面的代码,让你不得不改变resourceIdtype资源

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

这里。

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

+0

如何在运行时获得dll的句柄? – Gilad 2016-01-20 10:56:16

3

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

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