从资源加载原始文件

时间:2014-05-12 16:02:21

标签: c++ file winapi file-io resources

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

1 个答案:

答案 0 :(得分:3)

采取以下步骤:

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