FindResource() 的问题

Posted

技术标签:

【中文标题】FindResource() 的问题【英文标题】:Issues with FindResource() 【发布时间】:2012-10-26 17:04:44 【问题描述】:

我正在编写一段与资源(可执行文件)交互的代码,但是我目前遇到了一些问题。

问题 1 在资源头文件 (resource1.h) 中,ID_EXEC 被定义为一个数字,但是当我使用函数“MAKEINTRESOURCE()”并使用 ID_EXEC 作为参数时,ID_EXEC 显然是一个未声明的标识符,我该如何解决这个问题?

问题 2 FindResource() 中的第一个参数需要一个 HMODULE,但是我不知道如何获取可执行文件的 HMODULE(存储在 EXE 中),如何获取 HMODULE?

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

1) 你肯定忘了#include "resource1.h"

2) 它是传递给 WinMain() 的第一个参数的值,转换为 HMODULE。如果您只有一个 main() 或无法访问该变量,那么您可以使用 GetModuleHandle(NULL)。

【讨论】:

感谢您的帮助,问题 1 现已修复。但是,例如,如果可执行文件名为“source.exe”,我该如何指定查找该资源?

以上是关于FindResource() 的问题的主要内容,如果未能解决你的问题,请参考以下文章

FindResource函数错误代码:1813-找不到映像文件中指定的资源类型 与LoadResource函数错误代码:1812-指定的映像文件不包含资源区域

WPF——后台怎么调用App.xaml里的Button样式?

将EXE作为资源,然后在释放到磁盘上并运行该exe程序(使用了FindResource,LoadResource,然后用CFile写成一个文件)

win32释放资源

WPF DataGrid 改变当前选中行颜色 是那种改变后不会再变回来的!用C# 代码实现

vc rc资源提取