博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
调用dll显示对话框
阅读量:5735 次
发布时间:2019-06-18

本文共 619 字,大约阅读时间需要 2 分钟。

加载dll,显示对话框之后不要立刻调用FreeLibrary;特别是非模态显示对话框时

先创建一个DLL工程,新增一个函数如下,然后生成DLL文件

 

extern "C" __declspec(dllexport) void Show() { //这里显示一个窗口 }

 

新建一个WIN32工程,将DLL文件拷贝至程序运行目录。

定义一个全局的HINSTANCE hwnd;

程序初始化时调用hwnd = LoadLibrary(_T("MFCDLL.DLL"));

程序结束时调用FreeLibrary(hwnd);

 

 

新增一个按钮,点击执行以下内容。

typedef void (WINAPI *TESTDLL)(); if (hwnd == NULL) { AfxMessageBox(_T("dll is not exist")); return ; } TESTDLL lpproc = (TESTDLL) GetProcAddress(hwnd, "Show"); if (lpproc == (TESTDLL)NULL) { AfxMessageBox(_T("function is not exit")); return; } (*lpproc)(); //这样就调用了DLL中的Show函数

转载于:https://www.cnblogs.com/pClass/archive/2011/08/28/2201918.html

你可能感兴趣的文章
Windows UI风格的设计(7)
查看>>
SQL中使用WITH AS提高性能 使用公用表表达式(CTE)简化嵌套SQL
查看>>
oracle 强行杀掉一个用户连接
查看>>
Git提交本地库代码到远程服务器的操作
查看>>
灾难拯救——让软件项目重回轨道
查看>>
ssh链接git服务器,解决push pull要求输入密码问题
查看>>
Netty 源码解析(二):对 Netty 中一些重要接口和类的介绍
查看>>
mysql中主外键关系
查看>>
第七章:数据字典
查看>>
python 字符串 类型互相转换 str bytes 字符串连接
查看>>
service mysqld start
查看>>
linux时间
查看>>
Spring+Mybatis项目中通过继承AbstractRoutingDataSource实现数据库热切换
查看>>
让Alert弹窗只弹出一次
查看>>
用友软件操作流程(新建年度帐、年度结转步骤)
查看>>
mysql权限管理
查看>>
我的友情链接
查看>>
让你快速上手的Glide4.x教程
查看>>
浮动和清除(闭合)浮动
查看>>
微信小程序注册流程
查看>>