c++ - 查找资源失败

标签 c++ windows sfx

我有一段这样的代码

  IDB_PNG1                PNG                     "images\\list-back.png"
  HRSRC hrsrc = FindResource(module, MAKEINTRESOURCE(IDB_PNG1), TEXT("PNG")); 

这很好用,
但是我不能让它在下面的任何变体中工作

  hrsrc = ::FindResource(module, L"images\\list-back.png", L"PNG");
  hrsrc = ::FindResource(module, L"images\\list-back", L"PNG");
  hrsrc = ::FindResource(module, L"list-back.png", L"PNG");
  hrsrc = ::FindResource(module, L"list-back", L"PNG");

GetlastError 返回0x00000716 在图像文件中找不到指定的资源名称。
使用字符串搜索的正确字符串格式/方式是什么?

编辑:将生成.rc 并将包含.html 和.png 文件。我希望能够在不重新编译 exe 的情况下找到并加载该文件。我需要能够以某种方式在 .html 中识别 .png 正在使用什么,在 exe 中我将收到该路径/id 而不是 FindResource 和加载。这可以做到吗?

最佳答案

RCDATA 行中的第一个条目是名称(或 ID)。最后一个条目只是“资源编译器应该使用什么来创建这个条目”——名称没有存储在可执行文件中。

FOO  RCDATA  "images\\list-back.png"

...

::FindResource(module, L"FOO", RT_RCDATA);

关于c++ - 查找资源失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5807554/

相关文章:

c# - 如何使用 SevenZipSharp 创建 SFX ZIP?

C++链表实现多数据插入

c++ - Windows 的 Boost Mutex 实现

c - 防止应用程序从其他应用程序获取资源

wix - 如何创建将自解压 exe 作为 exe 包运行的 wix Bootstrap 应用程序

java - 修复Java代码中的JRE错误并重新编译应用程序

c++ - 在哪里放置 2 个文件的辅助函数?

c++ - 未定义对 `pthread_key_create' 的引用(链接器错误)

c++ - 初学者 C++ 以多种方式接收输入

c++ - 将流加载到程序勺外的内存中