在Dll中创建对话框并调用

简介: 1、第一步创建一“MFC AppWizard (dll)”工程,接下来选择“Regular Dll using shared MFC DLL”,点击“Finish”。 2、添加一对话框资源到工程中,从菜单中选择Insert->Resource,添加一“Dialog”选择“New”,至此对话框已添加到DLL工程中。

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

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

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

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

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中对话框显示出来了:)

技术改变世界! --狂诗绝剑
目录
相关文章
|
存储 Cloud Native Linux
C++Qt表格控件一些常用的设置封装
C++Qt表格控件一些常用的设置封装
|
9月前
|
网络协议
紧急!域名被暂停?Namecheap验证解除全攻略
本文详细介绍了当域名因ICANN规定被暂停时的解决方法。主要原因是未在15天内验证Whois联系人信息,Namecheap会暂停域名导致服务中断。文章提供了三步解决方案:检查并更新Whois信息、查收验证邮件、手动请求重发验证邮件,并给出了预防未来暂停的建议。确保域名管理信息准确,避免网站意外中断。文中还解答了一些常见问题,如验证恢复时间、失败处理等,强调了域名管理的重要性。
547 0
紧急!域名被暂停?Namecheap验证解除全攻略
|
存储 C++
c++的指针完整教程
本文提供了一个全面的C++指针教程,包括指针的声明与初始化、访问指针指向的值、指针运算、指针与函数的关系、动态内存分配,以及不同类型指针(如一级指针、二级指针、整型指针、字符指针、数组指针、函数指针、成员指针、void指针)的介绍,还提到了不同位数机器上指针大小的差异。
567 1
|
机器学习/深度学习 机器人 数据库
FoundationPose复现及Realsense应用
文章概述了FoundationPose项目,一个由Nvidia开发的用于新对象6D姿态估计和跟踪的统一模型,支持模型基础和无模型设置,通过合成数据和大型语言模型实现强泛化能力,并提供了复现和应用的详细步骤。
2112 0
FoundationPose复现及Realsense应用
|
Python
【Python3报错】Fatal error in launcher: Unable to create process using ……
【Python3报错】Fatal error in launcher: Unable to create process using ……
1516 1
|
C++ 容器
【C++】map和set封装
【C++】map和set封装
162 2
|
SQL 分布式计算 Hadoop
org.apache.hadoop.security.AccessControlException Permission denied: user=anonymous, access=WRITE...
在尝试通过 HiveServer2 远程执行 DDL 操作时遇到权限错误,错误信息显示匿名用户(`anonymous`)无权执行写操作。解决方案包括:1) 使用 `hdfs dfs -chmod -R +777 /warehouse` 给目录授权(不推荐,仅适用于测试环境);2) 配置 Hive 和 Hadoop,创建具有权限的用户,如 `ad`,并将该用户添加到 Hive 的管理员角色和 Hadoop 的 proxyuser 配置中,然后重启相关服务。通过 `beeline` 测试连接和操作,确认权限问题已解决。
1235 0
19 MFC - 标签控件 CTabCtrl
19 MFC - 标签控件 CTabCtrl
251 0
|
XML JSON 自然语言处理
C++实现读写ini配置文件
配置文件的读取是每个程序必备的功能,配置文件的格式多种多样,例如:ini格式、json格式、xml格式等。其中属ini格式最为简单,且应用广泛。
1651 0