`
wanguangru
  • 浏览: 19513 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

用VC把 图片做成独立的 DLL的两种方法

 
阅读更多

  用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中的输出函数了
分享到:
评论

相关推荐

    MingW VC 之.a .lib .dll .def 关系

    我们有两种思路,一种是生成VC上的lib,然后直接调用。另一种是制作def和a文件,通过他们调用dll。 (注意,在这种情况下,不能用reimp从lib得到a。即使这个lib可以直接使用。生成的a也不能用。想得到可用的a文件...

    自己写的dll的简介

    所以要把库既能够做成DLL,也能够做成静态库,那么就应该作出类似下面这样的定义: 1. DLL不包括变量的定义 #ifdef TEST_EXPORTS # define TEST_API __declspec(dllexport) #else # define TEST_API #endif 然 ...

    将Matlab函数转换为VB可用的DLL

    Matlab是MathWorks公司开发的一种工程计算语言。用这个交互系统可以解决很...以及在VB中调用这一类DLL两个问题做了一些探讨。文中,我们是基于Mat-lab5.0、VC5.0、VB5.0、 Matcom4.0或相应的更高版本的软件进行讨论的。

    vc++ 应用源码包_6

    代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

    vc++ 应用源码包_1

    代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

    vc++ 应用源码包_2

    代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

    vc++ 应用源码包_3

    代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

    vc++ 应用源码包_5

    代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

    VC实现炫眩qq界面的模拟(附源码)

    (一般DLL库的调用分成静态调用和程序运行期间动态调用2种,关于这两种的区别,可参考其他文章。这里,我们将选用静态调用的方式实现) 在适当的位置添加引入库的声明,这里我们选择在stdafx.h文件里面添加: //...

    vc++ 开发实例源码包

    代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

    od脱壳软件破解工具

     要破解1个软体起主要做的就是侦壳,要侦壳就要对壳有绝对似的了解,家喻户晓,软体作者用编程语言编著好软体后,是将它编译成扩展名为EXE的可执行文件编译为EXE的目的有两点:  (1)有一些版权信息需要掩护...

    PreviewDemo

    并进行了一些封装,可以将除主对话框之外的功能包装成DLL组件。 实现打印和预览功能,选择打印机打印,以及缩放,单页查看,连续页查看,代码做了最大优化,数百页及至上千页预览除首次载入时需要较长时间,滚动或...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码加以改进做成小工具。 Java右键弹出...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码加以改进做成小工具。 Java右键弹出...

    VC++6.0核心编程源码.rar

    你可以看到,每个错误都有3种表示法:即一个消息ID(这是你可以在源代码中使用的一个宏,以便与GetLastError的返回值进行比较),消息文本(对错误的英文描述)和一个号码(你应该避免使用这个号码,而应该使用消息...

    asp.net知识库

    在ASP.Net中两种利用CSS实现多界面的方法 如何在客户端调用服务端代码 页面一postback,它就显示页面的最顶端,怎样让它定位在某一位置? 如何保证页面刷新后的滚动条位置 清除网页历史记录,屏蔽后退按钮! 如何传值...

    C/C++笔试题(附答案,华为面试题系列)

    答:调用一个DLL中的函数有两种方法: 1.载入时动态链接(load-time dynamic linking),模块非常明确调用某个导出函数 ,使得他们就像本地函数一样。这需要链接时链接那些函数所在DLL的导入库,导入库向 系统提供...

    java源码包2

    有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码加以改进做成小工具。 Java右键弹出...

    java源码包---java 源码 大量 实例

    有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码加以改进做成小工具。 Java右键弹出...

    java源码包3

    有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码加以改进做成小工具。 Java右键弹出...

Global site tag (gtag.js) - Google Analytics