从资源加载原始文件

Loading a raw File from Resource

本文关键字:文件 原始 加载 资源      更新时间:2023-10-16

在c++中使用WinAPI从资源中加载原始文件的最简单方法是什么?我只想将文件(例如.txt)加载到一个字符数组中。我在互联网上搜索,但我不能真正找到一些有用和简单的东西,如LoadStringFromFile(int idFromResource, char* buffer)。

采取以下步骤:

  1. 调用FindResource,传递模块句柄、资源类型和资源名。生成一个HRSRC。注意,如果您有资源ID而不是资源名称,请使用MAKEINTRESOURCE进行转换。
  2. 通过上一步的HRSRC呼叫LoadResource。这产生一个HGLOBAL
  3. 通过HGLOBAL呼叫LockResource。这将产生一个指向资源第一个字节的指针。
  4. 调用SizeofResource传递HRSRC来查找资源的大小。
  5. 使用从步骤3中获取的指针和从步骤4中获取的大小将资源的内容复制到缓冲区中。