将嵌入的资源保存到文件系统 [英] Save embedded resource to the file system

查看:56
本文介绍了将嵌入的资源保存到文件系统的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用这段代码加载嵌入的资源(位图图像​​)

I use this code to load embedded resource (bitmap image)

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

效果很好.

如何将其保存到文件 C:\image.bmp?

How I can to save it to the file C:\image.bmp?

此代码仅创建空文件:

HANDLE hFile = ::CreateFile(L"C:\\image.bmp", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
DWORD dwWritten = 0;
::WriteFile(hFile, memRes, sizeRes, &dwWritten, NULL);
::CloseHandle(hFile);



解决方案:
在资源中创建新类型BMP"并放置图像
HRSRC hResInfo = FindResource(hInstance, MAKEINTRESOURCE(resourceId), _T("BMP"));

推荐答案

CreateFile()WriteFile()CloseHandle().

WriteFile() 需要一个指针和一个大小,所以可以直接从锁定的资源写入.

WriteFile() takes a pointer and a size so can write from the locked resource directly.

这篇关于将嵌入的资源保存到文件系统的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆