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中的输出函数了

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

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

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

vc 制作图片资源dll,码迷,mamicode.com

时间: 2024-07-31 14:29:24

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

Unity3D调用Vc和Csharp dll

1.C#封装的dll 现在vs中创建一个类,里面只要写一个简单的静态类和静态方法就可以了,如下: namespace pnsd { public static class pn { public static string getName(string name) { return name; } } } 然后编译成dll文件,名字为pnsd.dll 2.在unity中使用自定义的C#封装的dll组件 在unity中创建一个Plugins文件夹,所有的外部引用的dll组件必须要放在这个文件下,才

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

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

Java采用JNI调用VC++生成的dll(Java与C++交互)

应项目需求,需要android调用java,java再调用C++实现android一个图片匹配的功能,我们作为java组需要和C++和Android进行交互.下面是java和C++采用JNI的方式进行接口传参交互,我做的一个demo并运行成功. 什么是JNI? JNI全拼是Java Native Interface,中文意思为Java本地调用.JNI标准是Java平台的一部分,它允许java和其他语言的代码进行交互.JNI开始是为了本地已经编译好的语言,尤其是C和C++而设计的,我们也可以使用J

发现个delphi调用vc写的Dll中包含pchar参数报错奇怪现象

发现个delphi调用vc写的Dll中包含pchar参数奇怪现象 procedure中的第一行语句不能直接调用DLL的函数,否则会运行错,在之前任意加上条语句就不报错了奇怪! vc的DLL源码地址 http://blog.csdn.net/lqena/article/details/46357165 Delphi源码如下: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Co

VC++制作DLL详解

1.    DLL的基本概念 应用程序(exe)要引用目标代码(.obj)外部的函数时,有两种实现途径--静态链接和动态链接. 1.    静态链接 链接程序搜索对应的库文件(.lib),然后将这个对象模块拷贝到应用程序(.exe)中来.Windows之所不使用静态链接库,是因为很多基础库被很多应用程序使用.如果每个应用程序一份拷贝,将带来内存的极大浪费. 2.    动态链接 链接程序搜索到对应的库文件(.lib),然后根据函数名得到对应的函数入口地址,即可进行编译链接.直到真正运行的时候,应

2015.3.3 VC++6制作MFC dll并在其中使用对话框、引入类的操作

上例建立的dll为非MFC的,不能使用MFC框架,如CString.对话框等类型,使用起来有一定限制.可以建立MFC的Dll来改进.建立MFC Dll的方法: 1.在VC6中新建工程时选择:MFC AppWizard(dll) 2.保持默认的 Regular Dll using shared MFC DLL完成. 3.此时生成的App具有.h .cpp两个文件,与上面只有.cpp有所不同 4.相同的是在.cpp文件中 添加函数 extern "C" __declspec(dllexpo

VC调用matlab dll方式混合编程(c风格--例2)<二>

VC与Matlab混合编程之调用动态链接库dll--<二> 1.是先建立 matlab 的 m 文件. ellipsefit.m 其包含:function [Xc,Yc,A,B,Phi,P]=ellipsefit(x,y) 2.MCC命令编译生成得到h.dll.lib等文件 在matlab命令行中输入: mcc -B csharedlib:ellipsefit ellipsefit.m (此方式为c风格函数) (具体命令含义可参考<精通matlab与C/C++混合程序设计>刘维,第

C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\rcdll.dll;E:\Program Files\VC\bin\rcdll.dll 无法找到资源

VS2010安装后新建项目时会出现"无法找到资源编译器DLL"的错误,并且打不开资源视图. 在C:\program files\Microsoft SDKs\Windows\v7.0A\Bin中找到rc.exe 和 rcdll.dll 复制到 c:\program files (x86)\Microsoft Visual Studio 10.0\vc\bin\

【转】VC如何调用DLL文件

调用DLL,首先需要将DLL文件映像到用户进程的地址空间中,然后才能进行函数调用,这个函数和进程内部一般函数的调用方法相同.Windows提供了两种将DLL映像到进程地址空间的方法: 1. 隐式的加载时链接 这种方法需要DLL工程经编译产生的LIB文件,此文件中包含了DLL允许应用程序调用的所有函数的列表,当链接器发现应用程序调用了LIB文件列出的某个函数,就会在应用程序的可执行文件的文件映像中加入一些信息,这些信息指出了包含这个函数的DLL文件的名字.当这个应用程序运行时,也就是它的可执行文件