先看一个例子: 1.创建一个动态链接到MFC DLL的规则DLL,其内部包含一个对话框资源.指定该对话框ID如下:              #define IDD_DLL_DIALOG  2000 2.创建一个基于对话框的mfc应用程序,它包含两个对话框资源,IDD_UI_DIALOG和IDD_EXE_DIALOG.并将后者的ID指定如下:              #define IDD_EXE_DIALOG  2000其中前者是这个应用程序的用户界面,单击上面的按钮,将弹出一个对话框.部分…
本技术备忘录介绍MFC “模块状态”结构的实现.充分理解模块状态这个概念对于在DLL中使用MFC的共享动态库是十分重要的. MFC的状态信息分为三种:全局模块状态数据.进程局部状态数据和线程局部状态数据.有时这些数据类型之间没有严格界限,例如MFC的句柄表既是全局模块状态数据也属于线程局部状态数据. 进程局部状态数据和线程局部状态数据差不多.早先这些数据是全局的,但是为了更好的支持Win32和多线程,现在设计成进程或者线程相关的.模块状态数据既可以包含真正的全局状态数据,也可以指向进程或者线程相…
以前写MFC的DLL的时候,总会在自动生成的代码框架里看到提示,需要在每一个输出的函数开始添加上AFX_MANAGE_STATE(AfxGetStaticModuleState()).一直不明白这样做的含义,也一直没有这样做,而且代码也工作得好好的,所以感觉这好像一句废话. 最近的项目中,需要在DLL里使用MFC生成界面,这才发现一旦资源放在不同的动态库里,而且还和多线程搅和在一起的时候,事情就变得异常的复杂,以前对MFC的一知半解已经不足与应付了.程序莫名的崩溃,莫名的ASSERT,资源怎样也…
转载自:http://blog.chinaunix.net/uid-20532101-id-1931929.html 以前写MFC的DLL的时候,总会在自动生成的代码框架里看到提示,需要在每一个输出的函数开始添加上AFX_MANAGE_STATE (AfxGetStaticModuleState()).一直不明白这样做的含义,也一直没有这样做,而且代码也工作得好好的,所以感觉这好像一句废 话. 最近的项目中,需要在DLL里使用MFC生成界面,这才发现一旦资源放在不同的动态库里,而且还和多线程搅和…
AFX_MANAGE_STATE(AfxGetStaticModuleState()) 先看一个例子: .创建一个动态链接到MFC DLL的规则DLL,其内部包含一个对话框资源.指定该对话框ID如下: #define IDD_DLL_DIALOG 2000 .创建一个基于对话框的mfc应用程序,它包含两个对话框资源,IDD_UI_DIALOG和IDD_EXE_DIALOG.并将后者的ID指定如下: #define IDD_EXE_DIALOG 2000 其中前者是这个应用程序的用户界面,单击上面…
ansible笔记():常用模块之系统类模块(二) user模块 user模块可以帮助我们管理远程主机上的用户,比如创建用户.修改用户.删除用户.为用户创建密钥对等操作. 此处我们介绍一些user模块的常用参数,你可以先对这些参数有一个大概了解,然后再看小示例. name参数:必须参数,用于指定要操作的用户名称,可以使用别名user. group参数:此参数用于指定用户所在的基本组 gourps参数:此参数用于指定用户所在的附加组,注意,如果说用户已经存在并且已经拥有多个附加组,那么如果想要继续…
常用模块(二) 四.os模块 os模块是与操作系统交互的一个接口,用于对操作系统进行调用 os.getcwd() # 提供当前工作目录 os.chdir() # 改变当前工作目录 os.curdir() # 返回当前目录('.') os.pardir() # 获取当前目录的父目录字符串名('..') os.makedirs() # 生成多层递归目录('April\\Week1\\Day3') os.removedirs() # 从最里层往外删除空的文件夹,若文件夹为空,将会删除:若文件夹不为空,…
之前对 Vuex 进行了简单的了解.近期在做 Vue 项目的同时重新学习了 Vuex .本篇博文主要总结一下 Vuex 单状态库和多模块 modules 的两类使用场景. 本篇所有代码是基于 Vue-Cli 3.x 版本的脚手架工具进行编写的. vuex 单状态库 Demo 这是一个仅有单个 Vuex store 状态库的 Demo.当项目中使用一个 Vuex 状态库就已经足够的时候,可以使用这种方式. 本 Demo 使用了一个 increment 与 decrement 的 增 / 减 事件来…
MSF系列: MSF——基本使用和Exploit模块(一) MSF——Payload模块(二) MSF——Meterpreter(三) MSF——信息收集(四) 一.exploit和payload exploit是指利用漏洞的一个过程和方法,最终的目的是为了执行payload,payload才是真正实现我们攻击的代码(获得shell等等) 以缓冲区溢出为例,exploit模块告诉你在寄存器中要填充多少个字符,让寄存器下一条指令执行的代码位置跳转到我们的payload上 在使用exploit时,我…
本文会涉及到的模块: json.pickle urllib.Requests xml.etree configparser shutil.zipfile.tarfile 1. json & pickle序列化 json,用于字符串和 python数据类型间进行转换,不同语言之间兼容性好,但是只能转换字符串字典列表等简单的数据类型.Json模块提供了四个功能:dumps.dump.loads.load. pickle,用于python特有的类型 和 python的数据类型间进行转换.比较强大能转换…