繁体   English   中英

将嵌入的资源保存到文件系统

[英]Save embedded resource to the file system

我使用此代码加载嵌入式资源(位图图像​​)

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

此代码仅创建空文件:

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()接受一个指针和一个大小,因此可以直接从锁定的资源写入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM