1、第一步创建一“MFC AppWizard (dll)”工程,接下来选择“Regular Dll using shared MFC DLL”,点击“Finish”。

2、添加一对话框资源到工程中,从菜单中选择Insert->Resource,添加一“Dialog”选择“New”,至此对话框已添加到DLL工程中。

3、为对话框添加一新类,如:CTest,基类为CDialog。

4、在MFCDLL.cpp中(因创建的工程为MFCDLL)添加接口函数:

1.extern "C" __declspec(dllexport) void Show()
2.{
3.    AFX_MANAGE_STATE(AfxGetStaticModuleState());
4.    CTest test;
5.    test.DoModal ();
6.}

别忘了在文件中添加: #include "Test.h":),大功告成,编译吧!

5、用VC新建一对话框工程,在一按钮点击事件中添加如下代码:

01.typedef void (WINAPI * TESTDLL)();
02.  
03.  
04.HINSTANCE hmod;
05.hmod = ::LoadLibrary ("mfcdll.dll");
06.if(hmod==NULL)
07.{
08.    AfxMessageBox("Fail");
09.}
10.TESTDLL lpproc;
11.lpproc = (TESTDLL)GetProcAddress (hmod,"Show");
12.if(lpproc!=(TESTDLL)NULL)
13.    (*lpproc)();
14.FreeLibrary(hmod);

6、试试看,是不是DLL中对话框显示出来了:)

测试环境:VC6.0+Win2000

转自: http://www.vckbase.com/index.php/wv/369

在Dll中创建对话框并调用相关推荐

  1. Win32 DLL和MFC DLL 中封装对话框

    Win32 DLL和MFC DLL 中封装对话框 分类: 挂挂2007-07-02 12:36 3344人阅读 评论(1) 收藏 举报 现在最常看见的关于DLL的问题就是如何在DLL中使用对话框,这是 ...

  2. 【转】win32 的DLL中创建windows窗口

    转自:https://blog.51cto.com/wangyw/1071967 因工作需求,需要写一个DLL,并在其中创建windows窗口,网上有很多关于DLL创建窗口的文章,不过都是基于MFC的 ...

  3. 详解Linux交互式shell脚本中创建对话框实例教程

    详解Linux交互式shell脚本中创建对话框实例教程 本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一 ...

  4. 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器

    本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...

  5. MFC中制作Dll中带对话框资源的动态库

    Data:2019/10/23 这篇文章本来是17年写的,现在对这边文章进行细化.更新的是有一些晚了些 想要在MFC中的dll里面添加对话框资源,首先必须的条件是,当前的dll库类型必须是可扩展的DL ...

  6. 技术派-在工作线程与UI线程中创建对话框

    目录 UI线程创建方式 头文件模板 实现代码模板 工作线程的创建方式 工作线程的线程模板 对话框头文件模板 对话框实现部分 我们在工作中,经常需要在新线程里面创建对话框,要么是在工作线程里面创建对话框 ...

  7. 使用C++控制台程序或Python调用Dll创建Qt界面(dll中创建QApplication,qtwinmigrate的使用)

    目录 理论 构建DLL 使用Python进行调用 使用C++控制台程序进行调用 理论 在Windows下,可能要用MFC或C#或Java,python调用一个插件,这个插件是一个dll,可以弄一个Qt ...

  8. 调用外部 DLL 中的函数(显示调用)

    unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Di ...

  9. oracle 在plsql中创建procedure并调用

    Create  table  create table A ( USERID NUMBER(38), PWD VARCHAR2(30) ) tablespace USERS pctfree 10 in ...

最新文章

  1. 四位科研牛人介绍的文献阅读经验
  2. #HTTP协议学习# (五)压缩
  3. 初中计算机教师资格考试试题,2017下半年初中信息技术教师资格证面试试题(精选)第一批(2)...
  4. 和法国的剑桥创业老哥的沟通让我发现了很神奇的点
  5. matplotlib 多子图的画法 - 设置坐标范围 - 设置坐标的显示间隔 - 设置figure的大标题 - 设置x轴和y轴的名称 - df.groupby
  6. Golang之实现一个负载均衡算法(随机,轮询)
  7. windows共享内存
  8. docker 磁盘问题:device or resource busy
  9. TB创建公式应用dll失败 请检查用户权限,终极解决方案
  10. Codeforces Round #460 (Div. 2): E. Congruence Equation(枚举)
  11. 推荐一个用Flutter写的仿网易云音乐项目(已开源)
  12. 获取他人ip的几种方法
  13. Ubuntu挑战绿坝
  14. 教孩子学编程(Python语言版)
  15. Rational Rose 2007 使用方法
  16. 游戏技能效果与buff设定
  17. linux下安装python3出现无configure_Linux下安装Python3.9.0
  18. How Much Should We Invest for Network Facility: Quantitative Analysis on Network ’Fatness’ and Machi
  19. FFmpeg —— MP4转FLV(带关键帧)
  20. 深度学习基础:SVD奇异值分解及其意义【转】

热门文章

  1. Angular中怎样创建service服务来实现组件之间调用公共方法
  2. 349套HTML5+CSS3各行各业网站模板免费下载
  3. Java中判断List中是否有重复元素
  4. pip在安装模块时提示Read timed out
  5. Webservice开发之xsd中开发登录请求的响应接口
  6. 安装webpack以及webpack-dev-server
  7. SonarQube4.4+Jenkins进行代码检查实例之二
  8. git显示服务器所有分支,怎么拉取git服务器上面的分支到本机?
  9. 个人计算机技术分享,一个计算机类本科毕业设计分享
  10. 直播预告丨深耕用户价值,实战保险业数字化升级