C++ AFX_MANAGE_STATE(AfxGetStaticModuleState())的作用

 

https://www.cnblogs.com/linlf03/archive/2011/11/16/2251318.html

从AFX_MANAGE_STATE(AfxGetStaticModuleState())说起
https://blog.csdn.net/optman/article/details/332277

 

AFX_MANAGE_STATE(AfxGetStaticModuleState())的作用:用于模块切换时的状态保护,

1.AfxGetStaticModuleState()指向当前模块状态;

2.当前函数调用结束后原模块的状态自动被恢复;

3.用于DLL中所调用MFC函数、类、资源时的模块状态切换;

[MSDN]

By default, MFC uses the resource handle of the main application to load the resource template. If you have an exported function in a DLL, such as one that launches a dialog box in the DLL, this template is actually stored in the DLL module. You need to switch the module state for the correct handle to be used. You can do this by adding the following code to the beginning of the function:

AFX_MANAGE_STATE(AfxGetStaticModuleState( ));

This swaps the current module state with the state returned from AfxGetStaticModuleState until the end of the current scope

也就是说,并不是每一个dll的输出函数前都要调用它,只有在要输出对话框等用到资源时才要调用!

dll中资源是共享的,用这个函数的目的是防止不同的进程修改资源从而产生错误!

 

缺省情况下MFC使用主应用程序的资源句柄来载入资源模板,而DLL中的资源模板是存在于DLL模板中,

因此要使用这一语句切换到 DLL 。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495512.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

欧盟首个数据保护条例GDPR明日生效,你可能需要这份中文版的全文(丁晓东译) |上...

来源:腾讯研究院摘要:经过欧盟议会长达四年的讨论,欧盟《一般数据保护条例》(General Data Protection Regulation,简称GDPR)终于将在2018年5月25日也就是明天生效。经过欧盟议会长达四年的讨论&#xff0c…

UML和模式应用~面向对象分析和设计

OOD的原则和模式 应该如何为对象类分配职责(responsibility)?对象之间应该如何协作?什么样的类应该做什么样的事情?这些都是系统设计中的关键问题,OO设计之象征的职责驱动设计(responsibility-…

C++ windows 平台的 Hook

From:https://www.jianshu.com/p/1cbde2276752 Windows Hook(钩子)函数详解:https://wenku.baidu.com/view/fd9088aaf46527d3250ce059.html 环境:vs 2019,添加Windows.h头文件。 核心函数:SetWindowsHookEx()&#x…

欧盟首个数据保护条例GDPR生效,你可能需要这份中文版的全文(丁晓东译) |下...

来源:人大法学院未来法治研究院 翻译:丁晓东,中国人民大学法学院副教授,中国人民大学法学院未来法治研究院副院长。中山大学电子与通信工程专业学士,北京大学、耶鲁大学法学博士、中国人民大学法学博士后。经过欧盟议…

AdoHelper使用MySQL存储过程示例

AdoHelper是MS DAAB中的一个抽象数据访问类,由它派生出的SqlHelper使用很广泛,PDF.NET数据开发框架内部按照AdoHelper的接口做了一个自己的实现,下面简单说明一下怎么用它使用存储过程。 PDF.NET的两个功能:SQL-MAP和OQL在我们的项…

安卓逆向_1 --- 逆向环境配置、APK 文件结构、APK 打包流程

哔哩哔哩:https://www.bilibili.com/video/BV1UE411A7rW?p1 Android 逆向工程师系统培训‹第九期›( 课程目录 ):https://ke.yijincc.com/course-21.htm 安卓逆向工程师:https://ke.yijincc.com/profession/1.htm 打…

马云最新演讲:未来10年,人类将面临AI、IoT和区块链等三大技术巨大挑战!

来源:互联网风云网5月26日午间消息,在第二十届中国科协年会开幕式上,阿里巴巴集团董事局主席马云出席并发表题为《因为相信,所以看见》的演讲。马云认为,未来10-20年以内,将有三大技术让人类面临挑战&#…

C++ STL简介(转)

一、STL简介 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C中,但在被引入C之前该技术就已经存…

互联网大脑加速进化,2018年类脑智能巨系统在中国突然爆发

作者:刘锋 计算机博士,互联网进化论作者前言:2018年新年伊始,在短短的6个月里,包括腾讯超级大脑、浪潮企业大脑、360安全大脑、阿里ET大脑、华为城市神经网络、上海城市大脑、滴滴交通大脑、AIbee行业大脑不断涌现。在…

业务架构·应用架构·数据架构实战~架构实践全景图

1.战略、BA、DA、AA、TA五者的关系 BA(Business Architecture):业务架构 DA(Data Architecture):数据架构 AA(Application Architecture):应用架构 TA(Te…

安卓逆向_2 --- Androidkiller,apktool、dex2jar、jd-gui、jadx反编译工具 的 安装、设置及使用教程

From:https://www.52pojie.cn/thread-726176-1-1.html 爱盘 - 在线 PJ 工具包:https://down.52pojie.cn/ 哔哩哔哩 :https://www.bilibili.com/video/BV1UE411A7rW?p6 Android反编译工具的使用-Android Killer - 反编译美柚:h…

业务架构·应用架构·数据架构实战~TOGAF理论全景解读

1、解读TOGAF 9.2的BA、DA、AA、TA内容模型 企业架构(Enterprise Architecture)包含如下四种架构 BA(Business Architecture):业务架构 DA(Data Architecture):数据架构 AA&…

京东首次公布L4无人重卡细节!大型无人机和全机器人餐厅也要来了

安妮 发自 凹非寺量子位 出品 | 公众号 QbitAI摘要:京东CUBE大会上,京东一口气公布了一系列项目新进展。不仅推出L4级无人驾驶重型卡车、续航1000公里的无人飞机、机器人做主厨的JOY’S智慧餐厅3个全新项目,还总结了京东在智能零售、家居和智…

Android 系统架构图

Android 操作系统架构开篇: http://gityuan.com/android/ https://cloud.tencent.com/developer/article/1429122 Android架构图(五层框架):https://www.cnblogs.com/pengdonglin137/p/3858254.html 官方系统架…

ASP.NET MVC 最佳开发实践(1)

本文提供了一些代码设计准则,目标是帮助ASP.NET MVC 开发人员创建可靠的应用程序,当然,你可根据实际应用程序选择合适的标准。本文由EntLib.com 小组翻译,欢迎分享和交流ASP.NET MVC 项目开发设计思路。 Model建议 - Model Recomm…

大咖 | 斯坦福教授骆利群:为何人脑比计算机慢1000万倍,却如此高效?

大数据文摘出品作者:骆利群编译:王一丁、Shan Liu、小鱼AI源于人类大脑的结构,并尝试达到与大脑相当的能力。那么二者的差异究竟在哪里?斯坦福大学神经生物学教授骆利群(Liqun Luo)认为,大脑性能…

业务架构·应用架构·数据架构实战~战略驱动的业务架构设计

1、什么是业务架构(BA) 业务架构是企业治理结构、商业能力与价值的正式蓝图。 业务架构明确定义企业的治理结构、业务能力、业务流程、业务数据。其中,业务能力定义企业做什么,业务流程定义企业怎么做。 业务能力定义企业做什么…

Python 操控手机 APP

From:https://www.cnblogs.com/7758520lzy/p/11994776.html Python 控制雷电模拟器:https://blog.csdn.net/zerglurker/article/details/102931511 python 控制手机 python控制雷电模拟器 经常看到用 Python 操作手机 APP 的项目,例如抖音…

Log4Net 全方位跟踪程序运行

前端日子自己写了一个简单的日志跟踪程序,现在目前正在做的一个项目中使用以便于跟踪程序异常和运行状况,但是被否认了!可能是没有权威性,于是自己总结了一下Log4net日志跟踪系统,这里分享大家学习一下。当然写这个文章…

面对5G,华为、中兴及三大运营商怎么布局?

来源:亿欧摘要:面对即将到来的新机遇——5G,各大相关通信厂商纷纷大力布局,尤其以华为和中兴为主的通信设备商和三大运营商移动、联通和电信。面对5G,看其如何布局?什么是5G?5G是第五代移动通信…