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的更多相关文章
- 用VC制作应用程序启动画面
摘 要:本文提供了四种启动画面制作方法. 使用启动画面一是可以减少等待程序加载过程中的枯燥感(尤其是一些大型程序):二是 可以用来显示软件名称和版权等提示信息.怎样使用VC++制作应用程序的启动画面呢 ...
- VC生成的DLL给QT的EXE调用时lib路径问题小结
VC生成的DLL给QT调用,有两种方式,一种是隐式调用调用(使用.lib文件方式): ① 在*.pro工程文件中添加VC生成的lib文件路径时,或者使用一个绝对路径,如: LIBS += " ...
- 发现个delphi调用vc写的Dll中包括pchar參数报错奇怪现象
发现个delphi调用vc写的Dll中包括pchar參数奇怪现象 procedure中的第一行语句不能直接调用DLL的函数,否则会执行报错,在之前随意加上条语句就不报错了奇怪! vc的DLL源代码地址 ...
- VC 使用msxml6.dll动态链接库中的函数读写XML文件
VC 使用msxml6.dll动态链接库中的函数读写XML文件 目录 1 引言 2 .dll使用方法 3 常用函数总结 4 实例应用 5 运行效果预览 6 补充说明 7 不足之处 8 更新 引言: ...
- VC++制作DLL详解
1. DLL的基本概念 应用程序(exe)要引用目标代码(.obj)外部的函数时,有两种实现途径——静态链接和动态链接. 1. 静态链接 链接程序搜索对应的库文件(.lib),然后将这个对 ...
- VC++制作DLL具体解释
1. DLL的基本概念 应用程序(exe)要引用目标代码(.obj)外部的函数时,有两种实现途径--静态链接和动态链接. 1. 静态链接 链接程序搜索相应的库文件(.lib),然后将这个对 ...
- 2015.3.3 VC++6制作MFC dll并在其中使用对话框、引入类的操作
上例建立的dll为非MFC的,不能使用MFC框架,如CString.对话框等类型,使用起来有一定限制.可以建立MFC的Dll来改进.建立MFC Dll的方法: 1.在VC6中新建工程时选择:MFC A ...
- VS2010 /VC/bin/rcdll.dll 无法找到资源编译器
把C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin 目录下的rcdll.dll拷贝到 C:\Program Files(x86)\Micr ...
- vc++引用外部dll时报error LNK2019: 无法解析的外部符号
初学cpp,因为之前装linux下各种软件的时候,知道LD_LIBRARY_PATH可以指定动态库的目录.今天在vc集成log4cpp的时候,编译main时报error LNK2019: 无法解析的外 ...
随机推荐
- swift-数组array
// Playground - noun: a place where people can play import UIKit //--------------------------------- ...
- C++11 thread::detach(2)
原文地址:http://www.cplusplus.com/reference/thread/thread/detach/ public member function <thread> ...
- AOP 面向方面的编程 Aspect Oriented Programing --第一次听说呢,汗!
http://wayfarer.cnblogs.com/articles/241024.html 抄在这里,方便复习! AOP技术基础 1.引言2.AOP技术基础 3.Java平台AOP技术研究4 ...
- Qt新建线程的方法(有QRunnable,QThreadPool,moveToThread和QtConcurrent的例子)
看了不少Qt线程的东西,下面总结一下Qt新建一个线程的方法. 一.继承QThread 继承QThread,这应该是最常用的方法了.我们可以通过重写虚函数void QThread::run ()实现我们 ...
- 分享非常有用的Java程序 (关键代码) (三)---创建ZIP和JAR文件
原文:分享非常有用的Java程序 (关键代码) (三)---创建ZIP和JAR文件 import java.util.zip.*; import java.io.*; public class Zip ...
- 基于visual Studio2013解决C语言竞赛题之0610冒泡排序函数
题目
- 【老鸟学算法】大整数乘法——算法思想及java实现
算法课有这么一节,专门介绍分治法的,上机实验课就是要代码实现大整数乘法.想当年比较混,没做出来,颇感遗憾,今天就把这债还了吧! 大整数乘法,就是乘法的两个乘数比较大,最后结果超过了整型甚至长整型的最大 ...
- linux下shutdown无法关闭tomcat进程的解决方式
1.问题 笔者在linux下发现使用tomcat6.0.41自带的./shutdown.sh常常无法停止进程,导致各种问题的发生,令笔者相当反感! 2.解决方式一: 查找到全部的tomcat进程 $ ...
- AsyncTask总结(经典,附带源码)
一.整体工程图 二.MainActivity.java package com.jltxgcy.asynctaskdemo; import android.app.Activity; import a ...
- Codeforces Round #258 (Div. 2) 小结
A. Game With Sticks (451A) 水题一道,事实上无论你选取哪一个交叉点,结果都是行数列数都减一,那如今就是谁先减到行.列有一个为0,那么谁就赢了.因为Akshat先选,因此假设行 ...