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写成一个文件)