Rom*_*omz 2 c++ winapi visual-studio-2010
这里C#的问题相同:将资源加载为字节数组programmaticaly
所以我有一个资源(只是二进制文件 - 用户数据,并不重要).我需要一个指向表示此资源的字节数组的指针,该怎么做?资源位于vs2010的资源文件中(win32控制台项目).我想我需要使用FindResource,LoadResource和LockResourceWINAPI的功能.
要获取资源的字节信息,第一步是使用FindResource或FindResourceEx获取资源的句柄.然后,使用LoadResource加载资源 .最后,使用LockResource获取数据的地址并从该点访问SizeofResource字节.以下示例说明了该过程:
HMODULE hModule = GetModuleHandle(NULL); // get the handle to the current module (the executable file)
HRSRC hResource = FindResource(hModule, MAKEINTRESOURCE(RESOURCE_ID), RESOURCE_TYPE); // substitute RESOURCE_ID and RESOURCE_TYPE.
HGLOBAL hMemory = LoadResource(hModule, hResource);
DWORD dwSize = SizeofResource(hModule, hResource);
LPVOID lpAddress = LockResource(hMemory);
char *bytes = new char[dwSize];
memcpy(bytes, lpAddress, dwSize);
Run Code Online (Sandbox Code Playgroud)
为简洁起见,当然会省略错误处理,您应该检查每个调用的返回值.
| 归档时间: |
|
| 查看次数: |
6633 次 |
| 最近记录: |