vc 制作图片资源dll

简介: 方法一: 使用纯WIN32 DLL方法封装纯资源第一步,通过VS2005建立WIN32 DLL 空工程第二步,设置配置属性->链接器->高级->无入口点(是/NOENTRY)设置配置属性->C/C++->代码生成->运行时库(多线程/MT)第三步,加入图片资源并定义资源名称第四步,生成DLL,如Skin.

方法一: 使用纯WIN32 DLL方法封装纯资源
第一步,通过VS2005建立WIN32 DLL 空工程
第二步,设置配置属性->链接器->高级->无入口点(是/NOENTRY)
设置配置属性->C/C++->代码生成->运行时库(多线程/MT)
第三步,加入图片资源并定义资源名称
第四步,生成DLL,如Skin.DLL
第五步,调用方法例子
HINSTANCE hLibrary; 
if ((hLibrary = LoadLibrary (TEXT ("skin.DLL"))) == NULL) 
{
MessageBox ( TEXT ("Can't load skin.DLL."), TEXT("Error"), 0) ; 
}

CBitmap *m_pBitmap = new CBitmap();
hBitmap = LoadBitmap (hLibrary, MAKEINTRESOURCE (IDB_BK_DIALOG_MAIN)); 
m_pBitmap->Attach(hBitmap);
FreeLibrary(hLibrary );

方法二使用: MFC DLL封装
第一步,建立MFC DLL项目
第二步增加 输出函数
extern "C" __declspec(dllexport) HBITMAP WINAPI 
LoadBitmapFromResource(long nResourceID); 

HBITMAP WIANPI LoadBitmapFromResource(long nResourceID){ 
return LoadBitmap(theApp.m_hInstance,MAKEINTRESOURCE(nID)); 

第三步 加入资源和
第四步 生成DLL,和对应的Lib如,skin.dll和skin.lib
第五步调用,拷贝skin.dll和skin.lib到自己的工程,在工程中加入skin.lib之后
此时可使用LoadBitmapFromResource()来隐式的调用skin.dll中的输出函数了

 

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

 

 

 

===========================================================================================================================

==========================================================================================

目录
相关文章
|
10月前
|
人工智能 Linux 计算机视觉
GitHub 开源热搜!10.7k  star, MagicAnimate,让照片秒变动画短片!
MagicAnimate 是由新加坡国立大学与字节跳动团队开发的静态图像动画工具,基于视频扩散模型与时序注意力模块,可实现高保真一致动画。用户只需上传一张照片和动作视频/DensePose 数据,即可生成高质量动画,效率提升 50%。项目在 GitHub 上获得 11.1k 星,支持多 GPU 推理、模型替换及跨平台部署,适用于短视频创作、在线教育、营销广告等场景。其优势在于流畅度高、细节还原精准,是目前最强的人像动画技术之一。
617 0
|
前端开发 搜索推荐 开发者
「Mac畅玩鸿蒙与硬件20」鸿蒙UI组件篇10 - Canvas组件自定义绘图
Canvas 组件在鸿蒙应用中用于绘制自定义图形,提供丰富的绘制功能和灵活的定制能力。通过 Canvas,可以创建矩形、圆形、路径、文本等基础图形,为鸿蒙应用增添个性化的视觉效果。本篇将介绍 Canvas 组件的基础操作,涵盖绘制矩形、圆形、路径和文本的实例。
704 12
「Mac畅玩鸿蒙与硬件20」鸿蒙UI组件篇10 - Canvas组件自定义绘图
|
存储 数据挖掘
服务器数据恢复—用RAID5阵列中部分盘重建RAID5如何恢复原raid5阵列数据?
服务器数据恢复环境: 一台服务器挂接一台存储,该存储中有一组由5块硬盘组建的RAID5阵列。 服务器故障: 存储raid5阵列中有一块硬盘掉线。由于RAID5的特性,阵列并没有出现问题。工作一段时间后,服务器出现故障,用户方请人维修。维修人员在没有了解故障磁盘阵列环境的情况下,用另外4块硬盘(除去掉线的硬盘)重新创建了一组全新的RAID5阵列并完成数据同步,导致原raid5阵列数据全部丢失。
|
数据中心
使用的 LAN 电缆类型有哪些?
【8月更文挑战第4天】
884 10
使用的 LAN 电缆类型有哪些?
|
消息中间件
消息中间件系列教程(15) -RabbitMQ-基于全局消息ID解决幂等性问题
消息中间件系列教程(15) -RabbitMQ-基于全局消息ID解决幂等性问题
330 0
|
编译器
【项目开发】QT简单练习之QQ登录界面模仿
为了进一步加深对QT开发的理解,在学习完基础操作之后要进行一个简单的练习。
356 1
|
Java 数据安全/隐私保护
Java 包(package)的使用详解
Java中的包(`package`)用于组织类和接口,避免类名冲突并控制访问权限,提升代码的可维护性和可重用性。通过`package`关键字定义包,创建相应目录结构即可实现。包可通过`import`语句导入,支持导入具体类或整个包。Java提供多种访问权限修饰符(`public`、`protected`、`default`、`private`),以及丰富的标准库包(如`java.lang`、`java.util`等)。合理的包命名和使用对大型项目的开发至关重要。
1260 2
|
存储 SQL 分布式计算
当NameNode宕机时的应急响应与恢复策略
【8月更文挑战第31天】
707 0
|
存储 API 持续交付
OpenStack组件Keystone
【8月更文挑战第20天】
461 3
|
人工智能 JavaScript 搜索推荐
2024 中国开发者调查报告出炉:通义灵码是开发者最常用的 AI 编码辅助工具
2024 中国开发者调查报告出炉:通义灵码是开发者最常用的 AI 编码辅助工具
1197 10