- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从资源文件中获取 .png 图像。
res.rc
TEST_BKG RC_DATA "img\\mainwnd_bkg.png"
-
main.c
HRSRC hRsrc = FindResource(NULL,(LPCSTR)"TEST_BKG", RT_RCDATA);
但我有 1813 错误:ERROR_RESOURCE_TYPE_NOT_FOUND
<小时/>我创建了新文件并再次尝试使用 BITMAP:
1 BITMAP "img/mainwnd_bkg.bmp"
2 RC_DATA "img/mainwnd_bkg.png"
来源:
int main()
{
HRSRC hRsrc = FindResource(NULL,MAKEINTRESOURCE(1), BITMAP);
if (!hRsrc)
printf ("err");
hRsrc = FindResource(NULL,MAKEINTRESOURCE(2), RT_RCDATA);
if (!hRsrc)
printf ("err2");
getchar();
return 0;
}
我只得到“err2”。
最佳答案
此错误情况意味着您指定的模块中不存在具有该 ID 和类型组合的资源。
最可能的解释是您正在使用定义的 UNICODE
进行编译。因此,FindResource
宏扩展为 FindResourceW
。这可以解释为什么您选择转换 8 位字符串。大概是编译器反对,您决定使用强制转换。
如果是这样的话, Actor 阵容就有问题。您使用的强制转换不会更改字符串的内容,它只是告诉编译器禁止类型检查。实际上,您告诉编译器您正在传递一种类型的数据,而实际上您提供了一种不同类型的数据,这是对编译器撒谎。一般来说,您应该避免强制转换。
通过传递宽字符串来修复代码:
HRSRC hRsrc = FindResource(NULL, L"TEST_BKG", RT_RCDATA);
您可能更愿意明确调用的函数并像这样编写:
HRSRC hRsrc = FindResourceW(NULL, L"TEST_BKG", RT_RCDATA);
其他可能的解释是您没有链接已编译的资源,或者已编译的资源在某种程度上缺少您的 RCDATA
资源,或者提供给 FindResource
的模块句柄是不正确的。您可以使用资源查看器来查看最终可执行文件的内容。
关于c++ - FindResource 1813 错误 RC_DATA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27635494/
(来源:khason.net) var ID = 1234; var FilePath = "C:\\file.dll"; IntPtr hMod = LoadLibraryEx(FilePath,
我编译了一些代码模板,我想了解代码的一部分,尽管我花了一整天的时间尝试,但我无法弄清楚它的作用。 有问题的代码如下: #define IDR_STUB 1 hRsrc = FindResource(N
我有一个自定义类加载器,我希望 getResource 在自定义位置查找资源。 因此,我想做的是重写 findResource,因为我希望它返回一个字节数组作为结果。 findResource函数的返
HRSRC test = FindResourceW(hModule, L"TEST", RT_MANIFEST); FindResource 失败并显示ERROR_RESOURCE_NAME_NOT
我正在编写一段与资源(可执行文件)交互的代码,但我目前遇到了一些问题。 问题 1在资源头文件 (resource1.h) 中,ID_EXEC 被定义为一个数字,但是当我使用函数“MAKEINTRESO
我正在尝试将二进制资源嵌入到我的内核模式静态库中,但我没有看到与 FindResource 和 LoadResource API 等效的内核。你能帮帮我吗? 最佳答案 也许 LdrFindResour
我必须使用 FindResource("key") 方法。在我的 MainWindow 类中,它有效。 我必须在另一个类中使用它,但我不能用 MainWindow 类的新实例引用它,因为这给我带来了一
我有一个包含有效 exe 文件图像的内存缓冲区,我想从中提取一些资源。 为此,我正在使用 FindResource 函数,但该函数需要一个 HMODULE,并在为 exe 提供内存缓冲区时崩溃。 有没
我们正在“外部”连接我们的 View 和 View 模型,这意味着我们在某处有以下类型的代码: var viewModel = new MyViewModel(); var view = Applic
我正在尝试从资源文件中获取 .png 图像。 res.rc TEST_BKG RC_DATA "img\\mainwnd_bkg.png" - main.c HRSRC hRsrc =
我正在尝试使用 Win32 FindResource() 函数将嵌入式资源加载到缓冲区中。我在 Visual Studio 2015 IDE 中添加资源编译时间: 正如您使用 CFFexplorer
我有这个值转换器,可以将数字转换为画笔颜色。我需要做的是将 return Brushes.Red; 行更改为 return (Brush)FindResource("PrimaryHueMidBrus
我想在 C# Windows Phone 编程中使用 FindResource() 来更改控件的样式,但我做不到。 play_btn.Style = FindResource("btnplay") a
我正在尝试从我的资源中加载字体。这是我使用的调用,它当前返回 NULL,因此失败: HRSRC rsrcData = FindResource(NULL, MAKEINTRESOURCE(IDF_RO
我正在 WPF 中编写 CustomControl。我的 Themes/Generic.xaml 中有一些 DataTemplates,处于资源字典级别,并为它们分配了 x:Key。 现在,在同一个控
我知道在 FrameworkElement(例如窗口)上调用 FindResource() 可用于在 FrameworkElement 的 ResourceDictionary 中查找资源。 例如,我
URLClassLoader有两个函数用于获取资源作为 URL。一个名为 getResource 并被继承,一个来自 URLClassLoader 并被命名为 findResource。两者都返回一个
过去 3 天我一直在尝试这个,但我仍然无法让它工作。 WINAPI FindResource 函数抛出错误 1813:这意味着找不到资源类型。我正在使用 eclipse,所以没有 .RC 文件或 re
我正在尝试关注 this tutorial在 MSDN 上从资源加载图像文件。我感觉所提供的一些代码是胡说八道,但我不知道如何让它工作。调用FindResource()一直失败,错误代码为 1813。
我一直都在研究这个,但我只是被困住了。我一直在构建一个项目,我想将一个文本文件作为资源嵌入到可执行文件中。我理解这个“应该”如何工作的所有基础知识,但出于某种原因,事实并非如此。因此,让我从目前的情况
我是一名优秀的程序员,十分优秀!