为什么GetLastError()返回ERROR_RESOURCE_NAME_NOT_FOUND?

时间:2014-11-04 19:24:45

标签: visual-c++ mfc

我使用以下代码创建了一个VS2010 C ++空解决方案:

#include "conmat.h"
#include "resource.h"

#include <iostream>

#include <afxwin.h>
#include <atlimage.h>

void main(){    
    CImage bmp;
    bmp.LoadFromResource(AfxGetInstanceHandle(),RES_BMP);   

    std::cout << GetLastError() << std::endl;
    system("pause");
}

我添加了一个BMP文件作为资源。为什么不起作用?


这里是conmat.rc文件,必须包含(在我看来)在paint

中创建的位图图片
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// Русский (Россия) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE 
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE 
BEGIN
    "#include ""afxres.h""\r\n"
    "\0"
END

3 TEXTINCLUDE 
BEGIN
    "\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
//
// Bitmap
//

RES_BMP                 BITMAP                  "in.bmp"
#endif    // Русский (Россия) resources
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED

1 个答案:

答案 0 :(得分:0)

尝试使用GetModuleHandle(NULL)代替AfxGetInstanceHandle()