从资源加载原始文件

use*_*425 3 c++ file-io resources winapi file

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

Dav*_*nan 5

采取以下步骤:

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