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

2024-03-02

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

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

效果很好。

我怎样才能将其保存到文件中C:\图像.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(), and CloseHandle().

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 检查用户是否处于特定半径(Flutter)

    我想使用地理位置检查用户是否在他 她的房子里 该应用程序将在前台运行 并且不会显示地图 用户的房屋纬度和经度将存储在 Firestore 中 当用户打开应用程序时 我想检查他 她是否在他的房子里 由于房屋大小可能会有所不同 我会考虑以几米为
  • Rails:如何从服务或队列中监听/拉取?

    大多数 Rails 应用程序的工作方式都是等待来自客户端的请求 然后发挥其作用 但是 如果我想将 Rails 应用程序用作微服务架构的一部分 例如 并进行一些异步通信 服务 A 将事件发送到 Kafka 或 RabbitMQ 队列 而服务
  • 重新加载环境变量而不重新启动Excel?

    我使用该功能Environ 从正在运行的 Excel 实例获取环境变量 当系统中定义了一个新变量时 Excel 在不重新启动之前不会知道它 我的问题是 有什么方法可以获取环境变量的新值而不需要重新启动Excel 测试用例是 Windows搜
  • 使用后删除临时文件

    我需要在 Windows Forms NET 3 5 应用程序中使用一些临时文件 这些文件在外部应用程序中打开 当然该应用程序的运行时间可能比我自己的程序更长 是否有任何最佳实践来确保随时清理这些临时文件 以避免用户的硬盘充满不再需要的 垃
  • array.sort() 在 IE 11 中无法使用compareFunction [重复]

    这个问题在这里已经有答案了 我正在对以下数组进行排序JavaScript 数组 sort 方法 http www w3schools com jsref jsref sort asp 当我使用compareFunction参数 Intern
  • 使用什么工具来比较和减少css样式表

    我有一个页面 page1 html 引用了一个css文件 style1 css 一切都很好 我需要 Page1 html 来另外引用 Style2 css 然而 当我添加引用时 Page1 html 上的一些内容出现了问题 我如何确定导致此
  • 带有networkx的超图

    有人熟悉networkx吗 我尝试获取一个超图 我想将超边设置为列表中的其他彩色节点 大小取决于它们的值 我想将节点设置为其他列表之外 networkx 网站上的文档和示例确实很少 但我确信这是可能的 我开始于这个例子 https netw
  • 如何从 SQL Server 的列中删除不间断空格?

    我正在尝试删除不间断空格 CHAR 160 来自我表中的一个字段 我尝试过使用类似的函数RTRIM 摆脱它 但价值仍然存在 我需要做什么才能从列中删除不间断空格 尝试使用REPLACE http msdn microsoft com en
  • Eonasdan/bootstrap-datetimepicker 日期时间选择器通过外部 javascript 调用重置

    我有用Eonasdan bootstrap datetimepicker 版本 4 17 47 现在解释一下当我从文本框打开 bootstrap datetimepicker 并选择日期时的情况 之后我有一个清除按钮 onclick 我清除
  • 在 Vega Lite 中使用数据作为数组而不是表

    如何在 VegaLite 中使用数组数据 我想将数据用作数组 dates 1 2 3 prices1 1 2 1 prices2 1 5 1 2 而不是 VegaLite 中传统使用的表数据 date 1 price 1 symbol 1
  • 查找包中的所有函数(包括私有函数)

    I know ls package grid and find funs package grid in mvbutils但显然他们都找不到只能在内部或通过以下方式访问的非导出函数和方法 or getAnywhere 我必须在以下位置获取文
  • 我可以在 VS 中构建这个项目,但不能使用 msbuild

    我正在尝试在 nuget 应用程序中构建一个 ms 测试项目 我的项目结构是这样的 MyPackage gt MyPackage gt MyPackageTest 如果我打开 VS 并右键单击并构建 MyPackageTest 它可以工作
  • 找不到与给定名称“@style/Theme.Holo.Light.DarkActionBar”匹配的资源

    平台 4 3 API级别 18 AndroidManifest xml
  • 单击 IE 中图像上方的 div

    我有一个图像 上面可能有一些 div 指定该图像中的某些选择 这些 div 应该是可点击的 像这样的东西 divOuter width 500px height 500px border 2px solid 0000FF position
  • Cheerio / jquery 选择器:如何获取标签 a 中的文本?

    我正在尝试访问网站上的链接 该网站看起来像第一个代码示例 链接位于不同的 div 容器中 div div class class1 div class item class1 a href http www example com 1 ex
  • Spring Boot 的外部库文件夹

    我想知道如何为我的 Spring Boot 应用程序外部化所有 jdbc 驱动程序 我不想在构建应用程序后将 jdbc 驱动程序插入到我的 fat jar 中 有没有办法设置 java vm 参数 通知 jar 执行应包含哪个外部文件夹 或
  • 在 MSBuild 参数中设置应用程序名称

    我正在使用这个从命令行部署我的网络应用程序 msbuild WebApplication1 csproj t Package p configuration release 它工作正常 但部署的应用程序与项目设置页面中使用的名称相同 我想使
  • 在 R 中创建滚动列表

    给定一个向量 数据框的列 我想创建一个滚动向量 l 0 10 将返回 窗口为 3 0 1 2 1 2 3 2 3 4 3 4 5 1 滚动应用 r是一个 9x3 矩阵 其每一行都是所要求的列表元素之一 并且split将其转换为向量列表 尽管
  • Godot:调用外部方法

    经过大量谷歌搜索 我仍然不明白什么可能是一个简单的解决方案 场景 主要 包含一个 TileMap Grid 并附有一个脚本 Grid gd 场景 玩家 包含一个 KinematicBody2D Player 及其附加脚本 Player gd
  • 将嵌入资源保存到文件系统

    我使用此代码加载嵌入资源 位图图像 HRSRC hResInfo FindResource hInstance MAKEINTRESOURCE resourceId RT BITMAP HGLOBAL hRes LoadResource h