FindResource Api为DLL中的Text文件提供错误1813
FindResource Api gives error 1813 for Text file in a DLL
我开发了一个动态库,在dll中我添加了一个资源文本文件和其他用于其他目的的代码,然后通过一个可执行文件动态加载dll,当调用到FindResource API时,它总是返回NULL。当可执行文件在单独的文件夹中时,动态库文件夹是单独的。我不明白为什么它不起作用。代码:>HRSRC hRes=FindResource(0,MAKENTRESOURCE(IDR_XYZ_ABC1),"XYZ_ABC");<
FindResource的第一个参数是要从中加载的句柄。所以它可能是你的动态dll句柄。
错误代码1813转换为
在映像文件中找不到指定的资源类型。
将NULL
作为第一个参数传递给FindResource
被证明意味着:
如果此参数为NULL,则函数将搜索用于创建当前进程的模块。
如果你想从动态加载到进程中的图像中加载资源,你必须将模块的句柄传递给FindResource
:
HMODULE hMod = LoadLibrary("MyResources.dll");
HRSRC hRes = FindResource(hMod, MAKEINTRESOURCE(IDR_XYZ_ABC1), "XYZ_ABC");
// ...
如果.dll仅包含资源,则可能需要使用LoadLibraryEx
。它允许您指定其他加载选项,允许您加载仅由资源组成的库,而不包含入口点。
相关文章:
- 警告处理为错误这里有什么问题
- "error: no matching function for call to"构造函数错误
- boost::进程间消息队列引发错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- QT在错误的班级中寻找空位
- vector.resize()中的分配错误
- 代码在main()中运行,但在函数中出现错误
- 释放错误后堆使用
- (C++)分析树以计算返回错误值的简单算术表达式
- Project Euler问题4的错误解决方案
- 我的字符计数代码计算错误.为什么
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 尝试导入pybind-opencv模块时出现libgtk错误
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 在某些循环内使用vector.push_back时出现分段错误
- MSVC多行宏编译器错误
- 尝试从资源加载位图返回NULL,错误代码为1813
- FindResource Api为DLL中的Text文件提供错误1813
- Win32 Loadimage产生1812和1813错误