dll中加载位图返回1813 (转)
来源:互联网 发布:昆吾九鼎投资知乎 编辑:程序博客网 时间:2024/06/05 17:47
环境:win7 32位,vs2010,window appliction dll
//这是MFC DLL中的自己写入的代码用于加载位图HBITMAP _stdcall GetBitmapFromDll(){HBITMAP bit=LoadBitmap(GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BITMAP1));if(bit!=NULL)return bit;else{int a=GetLastError();char buf[100]={0};sprintf(buf,"%d",a);MessageBoxA(NULL,buf,0,0);return NULL;}}
//这是客户端的调用代码,需要注意的是关于m_pic的picture控件的ID值,要自己转换一下,不能使用默认值HINSTANCE hInst=::LoadLibraryW(L"D:\\project\\Skin\\Debug\\Skin.dll");typedef HBITMAP (_stdcall *test)(void);if(NULL==hInst){MessageBox(L"加载动态链接库失败",0,0);return;}test hehe=NULL;hehe=(test)GetProcAddress(hInst,"GetBitmapFromDll");if(NULL==hehe){MessageBox(L"对不起,函数地址获取失败",0,0);return ;}HBITMAP bit=hehe();m_pic.SetBitmap(bit);FreeLibrary(hInst);这样的返回值是1813只需修改MFC DLL中的代码即可
HBITMAP _stdcall GetBitmapFromDll(){HBITMAP bit=LoadBitmap(GetModuleHandle(L"Skin"/*工程名即可*/),MAKEINTRESOURCE(IDB_BITMAP1));if(bit!=NULL)return bit;else{int a=GetLastError();char buf[100]={0};sprintf(buf,"%d",a);MessageBoxA(NULL,buf,0,0);return NULL;}}
转自:http://blog.csdn.net/dasgk/article/details/9080843
0 0
- dll中加载位图返回1813 (转)
- dll中加载位图返回1813
- 从缓冲区中加载BMP位图并返回句柄
- 加载dll位图的方法 源码
- [转]从内存中加载DLL
- VC++中加载DLL
- VC++中加载DLL
- DLL中加载VCL
- dll加载失败,返回126错误
- WinCE中加载位图的方法
- WinCE中加载位图的方法
- 在应用程序资源中加载bmp位图
- 加载位图
- 加载位图
- 位图加载
- 从内存中加载DLL
- 在内存中加载DLL
- Symbian中动态加载DLL
- apache虚拟主机设置 wamp
- windows下批处理
- JS 实现打印功能
- SQL Server 2012 的版本和组件
- (7)安装Go
- dll中加载位图返回1813 (转)
- PIL写入字体出现ImportError:The _imagingft C module is not installed 错误的解决方法
- mianshi总结
- SQL Server 2014 的版本和组件
- 10+年程序员总结的20+条经验教训
- 最全的Resharper快捷键汇总
- (8)安装桌面和VNC
- 新浪微博-随便看看
- RESTful API 设计指南