vc 制作图片资源dll

方法一: 使用纯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中的输出函数了

 

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

 

 

 

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

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

时间: 2024-08-02 21:16:54

vc 制作图片资源dll的相关文章

PB中使用VC++编制的DLL

一.DLL概述: 动态链接库(Dynamic-Link Library),简称DLL,是基于Windows程序设计的一个非常重要的组成部分.使用DLL有许多优点: (1)使用DLL的动态连接不是将库代码拷贝,只在程序中记录函数的入口点和接口,在程序执行时才将库代码装入内存,如果有多个程序使用相同的DLL,也只需将DLL在内存中装载一次,节省了内存开销. (2)DLL是基于Windows的程序模块,它不仅包含可执行代码,还可以包含数据,各种资源,扩大了库文件的使用范围. (3)对于一个大型的.不断

用VC制作应用程序启动画面

摘 要:本文提供了四种启动画面制作方法.  使用启动画面一是可以减少等待程序加载过程中的枯燥感(尤其是一些大型程序):二是 可以用来显示软件名称和版权等提示信息.怎样使用VC++制作应用程序的启动画面呢?本文提供四种方法.前三种适用于基于文档的应用程序,第四种适用于基于对话框的应用程 序.  1.利用组件库中的Splash Screen组件实现 (1)用Photoshop等制作启动画面图像,保存为bmp格式. (2)用Appwizard建一个基于单文档的工程Splash. (3)在资源中插入位图

有人玩过lotus访问C#制作的Dll文件吗

问题描述 有人玩过lotus访问C#制作的Dll文件吗,正在研究,不知道怎么调用,delphi做得dll文件能够调用,C#做的不行,貌似不一样.有哪位达人能指点下,不胜感激 解决方案 解决方案二:该回复于2011-03-08 15:47:11被版主删除解决方案三:这个是可以调用的,见过,但是忘记了.解决方案四:C/S应该是可以调用的,和调用系统的相关底层内容一样,不过BS好像确实没用过~~

请问能否将VC编写的DLL 嵌入到 C# 的Exe里?

问题描述 我们有个项目是用VC封装了一个DLL给C#使用,但是又不想让客户看到这个DLL(防止他们拿来使用),所以想直接将这个DLL嵌入到C#的Exe里,请问有方法可以做到这个样吗?或者给个思路!谢谢! 解决方案 解决方案二:可以嵌入,然后临时释放,用完在删除解决方案三:引用楼主vc_learner的回复: 我们有个项目是用VC封装了一个DLL给C#使用,但是又不想让客户看到这个DLL(防止他们拿来使用),所以想直接将这个DLL嵌入到C#的Exe里,请问有方法可以做到这个样吗?或者给个思路!谢谢

vc++-ocx在dll中的调用(关于vc里的mfc)

问题描述 ocx在dll中的调用(关于vc里的mfc) dll里边封装了一个对话框,现在在这个对话框里边insert activex control一个ocx控件,调用这个dll,对话框弹不出来, 若没有加入这个ocx,调用dll会弹出对话框 解决方案 很像是里面发生异常了,可以试试debugview看能抓到异常信息不.

用VC++.net做DLL,调试修改时,dll被占用,无法覆盖

问题描述 这几天在研究服务器组件这回事,简单地说就是用更高效节能的DLL代替现在使用的ASP代码,用这套技术,可以从两个方面提高速度:1.原ASP是一边解释一边执行的,服务器组件是编辑成DLL的,直接可执行:2.原ASP每个网友每次点击都要解释执行一次,服务器组件只要第一次使用时载入内存,永久有效:但是,大家都知道,程序不可能一次编好,总得有调试与纠错的过程吧.要是发现有问题,改了代码,那可头疼了.因为DLL已经被载入内存,该DLL文件删不了,也不能改.想删它,就告诉我"文件正在被另一个人或程序

Python 调用VC++的动态链接库(DLL)_python

1. 首先VC++的DLL的导出函数定义成标准C的导出函数: 复制代码 代码如下: #ifdef LRDLLTEST_EXPORTS #define LRDLLTEST_API __declspec(dllexport) #else #define LRDLLTEST_API __declspec(dllimport) #endif extern "C" LRDLLTEST_API int Sum(int a , int b); extern "C" LRDLLTE

解析VC中创建DLL,导出全局变量,函数和类的深入分析_C 语言

一.创建DLL1.在VC中新建一个Win32空项目MathLib:2.添加预编译头文件stdafx.h,定义导入导出控制符号: 复制代码 代码如下: //stdafx.h#pragma once#define MATHLIB_EXPORT 3.添加包含要导出的全局变量,函数和类的头文件MathLib.h: 复制代码 代码如下:  //MathLib.h #pragma once  #ifdef MATHLIB_EXPORT #define MATHLIBAPI __declspec(dllexp

VC制作特色工具栏清晰思路 。。。不再纠结

 相信使用过VC的人都深有感触VC那个恶心的工具栏 ,我们想要在对话框上添加自己的工具栏但是却发现 网上很多例子都写的含糊不清 今天我就给大家写一个VC特色工具栏 VC 的个性工具栏的制作离不开三个类    CToolBar    CToolBarCtrl   CImageList         1.  CToolBar工具条类   操作工具条的类  而不是工具条上面的按钮               CToolBarCtrl  这个是镶嵌在工具条上面的按钮的类    CToolBar::Ge