将嵌入的资源保存到文件系统 [英] Save embedded resource to the file system
本文介绍了将嵌入的资源保存到文件系统的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我用这段代码加载嵌入的资源(位图图像)
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屋!
查看全文