FindResource()不';我找不到我的资源

FindResource()不';我找不到我的资源,c,winapi,C,Winapi,我有一些我编译的代码模板,我想了解代码的一部分,我不知道它做什么,虽然我花了一整天的时间试图 有关守则如下: #define IDR_STUB 1 hRsrc = FindResource(NULL, MAKEINTRESOURCE(IDR_STUB), "STUB"); 我还有两个文件与主文件位于同一目录中,第一个文件名为'something.rc',其内容为: #define IDR_STUB 1 IDR_STUB STUB DISCARDABLE "stub.exe" 您可以猜到的另一

我有一些我编译的代码模板,我想了解代码的一部分,我不知道它做什么,虽然我花了一整天的时间试图

有关守则如下:

#define IDR_STUB 1
hRsrc = FindResource(NULL, MAKEINTRESOURCE(IDR_STUB), "STUB");
我还有两个文件与主文件位于同一目录中,第一个文件名为'something.rc',其内容为:

#define IDR_STUB 1
IDR_STUB STUB DISCARDABLE "stub.exe"
您可以猜到的另一个文件是
stub.exe

我的问题是上面的
FindResource
调用有什么问题,它找不到要查找的内容,我很难理解该函数是如何工作的

所以,如果你能给我一些帮助,我会很高兴:)


THX.

也有同样的问题。我使用MSDN中描述的字符串资源id解决了这个问题:

如果字符串的第一个字符是磅符号(#),则其余字符表示一个十进制数,用于指定资源名称或类型的整数标识符。例如,字符串“#258”表示整数标识符258

因此,请尝试以下代码:

hRsrc = FindResource(NULL, "#1", "STUB");

调用
FindResource()
失败后,
GetLastError()
报告了什么?嗯,我不是很确定,但据我记忆所及。rc应该首先编译为.res,以使其工作,这可以通过rc.exe完成,然后将其链接到最终的二进制文件中。请您在此处添加一些关于
FindResource
函数的解释?关于FindResource的信息:@rkosegi:No,MAKEINTRESOURCE只是一个类型转换。知道哪些情况需要这种方法而不是MAKEINTRESOURCE吗?@sgryzko Nope。我没有深入研究这件事。