通行证:用 户 密 码 注册 www.pconline.cn 汽车网 游戏网 时尚女性
  太平洋电脑网
首 页 |
论 坛 |
今日报价 | 产业资讯 | 数码世界 | 硬件资讯 | 软件资讯 | 下载中心 | 游 戏 |
产 品 库 | 渠道商情 | 招聘培训 | 二    手 | 评 测 室 | 导购大全 | 社 区 |
摄影
部落
北京 上海 广州 深圳 香港 广西
重庆 山东 江苏 辽宁 福建 成都
手机 数码相机 随身听 DIY配件 笔记本 台式机 摄像机 精品廊
手 机 数码相机 随身听 DIY配件 笔记本 台式机 摄像机 精品廊
 
 
   
首页 新闻 应用 评测 教你学电脑 信息安全 创意设计 开发特区 下载 专题 社区  
 
特色专区: | QQ大本营 | msn总动员 | 精品导用 | 组网专栏 | 设计素材 | Flash 剧场 | Photoshop专区 | 视频专栏 | CG专栏
 
 
您现在的位置: 软件资讯 > 开发特区 > 开发语言 > VC/MFC
VC++动态链接库(DLL)编程深入浅出(四)
出处:PConline[ 2005-11-09 11:42:42 ] 作者:宋宝华 责任编辑:xietaoming

  这是《VC++动态链接库(DLL)编程深入浅出》的第四部分,阅读本文前,请先阅读前三部分:(一)(二)(三)

  MFC扩展DLL的内涵为MFC的扩展,用户使用MFC扩展DLL就像使用MFC本身的DLL一样。除了可以在MFC扩展DLL的内部使用MFC以外,MFC扩展DLL与应用程序的接口部分也可以是MFC。我们一般使用MFC扩展DLL来包含一些MFC的增强功能,譬如扩展MFC的CStatic、CButton等类使之具备更强大的能力。

  使用Visual C++向导生产MFC扩展DLL时,MFC向导会自动增加DLL的入口函数DllMain:

extern "C" int APIENTRY
DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
 // Remove this if you use lpReserved
 UNREFERENCED_PARAMETER(lpReserved);

 if (dwReason == DLL_PROCESS_ATTACH)
 {
  TRACE0("MFCEXPENDDLL.DLL Initializing!\n");

  // Extension DLL one-time initialization
  if (!AfxInitExtensionModule(MfcexpenddllDLL, hInstance))
   return 0;

  // Insert this DLL into the resource chain
  // NOTE: If this Extension DLL is being implicitly linked to by
  //  an MFC Regular DLL (such as an ActiveX Control)
  //  instead of an MFC application, then you will want to
  //  remove this line from DllMain and put it in a separate
  //  function exported from this Extension DLL.  The Regular DLL
  //  that uses this Extension DLL should then explicitly call that
  //  function to initialize this Extension DLL.  Otherwise,
  //  the CDynLinkLibrary object will not be attached to the
  //  Regular DLL's resource chain, and serious problems will
  //  result.

  new CDynLinkLibrary(MfcexpenddllDLL);
 }
 else if (dwReason == DLL_PROCESS_DETACH)
 {
  TRACE0("MFCEXPENDDLL.DLL Terminating!\n");
  // Terminate the library before destructors are called
  AfxTermExtensionModule(MfcexpenddllDLL);
 }
 return 1;   // ok
}

  上述代码完成MFC扩展DLL的初始化和终止处理。

  由于MFC扩展DLL导出函数和变量的方式与其它DLL没有什么区别,我们不再细致讲解。下面直接给出一个MFC扩展DLL的创建及在应用程序中调用它的例子。

诠释软件新生活!软件资讯频道新装上阵!
[1] [2] [3] [下一页]
更多相关搜索: vc.. c++.. c.. visula c++.. 动态链接库.. DLL..

  发给好友 我要报错 投稿给我们 加入收藏 返回顶部  

本栏今日更新
相关文章
·VMware Workstation 5.5 Beta RC2发布
·大迁徙:有100万Windows用户皈依Mac
·卡巴斯基安全套装2006 beta再发布
·新鲜体验:超级兔子也玩影音播放!
·动态菜单!玩转另类之美Sonique2播放器
·QQ2005 VS WinLive Msg8.0 beta,谁怕谁?
·奇思妙想:我用WinRAR智能备份数据
·Window Blinds5 Beta2 火热试用(多图)
·VC精华教程:MFC入门系列(六)
·VC++动态链接库(DLL)编程深入浅出(三)
·谁敢来挑战:天书奇谈C & C#版
·C/C++语言void及void指针深层探索
·VC++开发BHO插件——定制你的浏览器
·人月团圆:用C实现的爱情宣言
·VC中ftp协议实现多线程断点续传
·C/C++编程新手错误语录(续二)
文章搜索
每日更新
 
焦点图文
软件新闻
大迁徙:有100万Windows用户皈依Mac
软件新闻
WinBlinds 5 β2:感受极致Glass效果[图]
创意设计
Photoshop洗衣粉包装设计印刷全攻略
开发特区
VC++动态链接库(DLL)编程深入浅出(四)
精品导用
另类之美:Sonique 2精彩试用
软件应用
超级兔子快乐影音体验
 
关于太平洋 | 网站地图 | 广告指南 | 联系我们 | 招聘精英 | 合作联系


广东省通信管理局
粤ICP证号:000010
技术支持与报障:support@pconline.com.cn
        020-87568837
        
对本站有任何建议、意见或投诉,请点这里在线提交.
本网站简体、繁体两种版本,以简体版为准
PConline版权所有,未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任__