Windows 核心编程
虚坏叔叔
「虚幻私塾」
展开
-
C++如何实现工程打开的监听
在这里插入代码片一、问题的引入目前工程的结构如图所示:IProjectManager 管理工程的创建,这个时候如果我想监听工程的打开关闭应该怎么架构二、如何实现添加IProjectEventManager结构去管理工程的创建的监听,需要监听的只需地方,只需继承于IProjectEvent在打开工程前 初始化监听类到ProjectEventManager中,当然 所有的manager都是单例类bool CProjectEventManagerImpl::AddProjectEventHan原创 2021-03-24 11:58:20 · 304 阅读 · 1 评论 -
注册表主键的含义
我们都知道,我们在使用电脑时。在“开始”→“运行”中输入“regedit”并单击“确定”按钮后,可以打开“注册表编辑器”对话框,此时可以看见在左边的窗口中显示了注册表的所有主键。对于Windows 2003/2000/XP 来说只有五个主键。新手要想看的懂注册表就必须了解这五个主键的指向是什么。下面我们就来一起学习下注册表主键的具体含义。 1.HKEY_CLASSES_ROOT原创 2014-04-27 07:41:45 · 2754 阅读 · 0 评论 -
访问令牌、权限和用户标识
进程的权限继承自创建进程用户和用户所属的用户组。用户有专用数据结构来表示权限—访问令牌(Access Token)。访问令牌包括两个部分:一个是令牌所表示的用户,包括用户标识符(SID),用户所属的用户组等;另一部分是“权限”(Privilege)。在进程访问安全对象时,会用到SID。每个安全对象都有访问控制列表(ACL),ACL说明了哪些用户( SID)能访问本对象,哪些不能,以及能进行哪种原创 2014-04-29 08:58:45 · 4478 阅读 · 0 评论 -
vs2005 如何把项目调为‘优化’状态
原创 2014-07-25 10:25:46 · 1315 阅读 · 0 评论 -
vs2012 中文版界面 属性(2)
原创 2014-08-08 16:54:43 · 1143 阅读 · 0 评论 -
vs2012 中文版界面
原创 2014-08-08 16:31:41 · 1474 阅读 · 0 评论 -
vs2012 中文版界面 属性(1)
原创 2014-08-08 16:44:20 · 2175 阅读 · 0 评论 -
动态链接库,静态链接库和可执行文件的区别是什么?
动态链接库(Dynamic Link Library,缩写为DLL)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它和可执行文件(exe)非常类似,区别在于DLL中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。 动态链接是相对于静态链接而言的。所谓原创 2015-03-26 18:44:11 · 5349 阅读 · 0 评论 -
svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted
今天svn提交,出现异常:svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted百度后,大多解决办法:team--> Refresh/Cleanup会出现异常:SVN: org.apache.subversion.javahl.原创 2015-03-31 16:13:10 · 2538 阅读 · 0 评论 -
windows批处理命令教程
批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用C原创 2015-04-02 20:32:51 · 1416 阅读 · 0 评论 -
VC中调用exe
目前知道三种方式:WinExec,ShellExecute ,CreateProcess,别人已经总结的很好了《vc中调用其他应用程序的方法(函数) winexec,shellexecute ,createprocess》,我全文转载一下,另外后面加点自己的总结(黑体部分,除了标题)。三个SDK函数: WinExec,ShellExecute ,CreateProcess可以实现调用其他程原创 2015-04-09 18:13:02 · 1004 阅读 · 0 评论 -
VC中调用exe
目前知道三种方式:WinExec,ShellExecute ,CreateProcess,别人已经总结的很好了《vc中调用其他应用程序的方法(函数) winexec,shellexecute ,createprocess》,我全文转载一下,另外后面加点自己的总结(黑体部分,除了标题)。三个SDK函数: WinExec,ShellExecute ,CreateProcess可以实现调用其他程原创 2015-04-09 18:07:46 · 1268 阅读 · 0 评论 -
OpenCasCade开发环境搭建 (vs2013+win7 64bit + OpenCasCade 6.8.0)
我的安装环境:Windows7 旗舰版 SP1 x64;Visual Studio 2013;OpenCasCade-6.8.0 源码包;OpenCasCade下载和安装http://www.opencascade.org/getocc/download/loadocc/解压后如下图:接下来,下载适原创 2015-05-14 12:08:58 · 9151 阅读 · 0 评论 -
vector draw 试用期结束的 激活方法
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\DBEA4D42-0745-428e-B17A-A5B6CA3AB34B]把这个注册表给删 了原创 2015-06-04 19:26:16 · 2403 阅读 · 0 评论 -
链接器link.exe 编译器cl.exe 资源编译器rc.exe
1.cl.exe文件是Visual C\C++的编译器,它将程序源代码文件编译为obj文件。2.rc.exe文件是资源编译器。工程项目中的.rc文件中包含了对程序中所使用资源(菜单、图标等)的描述。rc.exe将.rc格式的文件编译为.res文件,供链接器链接到可执行文件中。3.link.exe是Windows平台的链接器,它将cl.exe编译生成的obj文件,资源编译器生成的.r原创 2014-04-24 20:07:44 · 35361 阅读 · 0 评论 -
同步I/O 和 异步I/O
所谓同步I/O是指在调用ReadFile、WriteFile等函数进行输入输出操作时,系统完成了输入输出ReedFile、WriteFile才返回。在操作系统进行I/O操作的过程上,用户态线程不能执行,因此在同步I/O时,如果需要在I/0时进行其他操作就只能再开启线程。而异步I/O是在调用ReadFile、WriteFile等函数后,函数立即返回,线程可以进行其他操作。剩下的I/O原创 2014-04-26 09:12:52 · 1796 阅读 · 0 评论 -
《解读window核心编程》 之 注册表
1 注册表的作用及组织形式Windows系统使用注册表来存储系统和应用程序配置数据。很多系统和应用程序重要的配置的信息都存储在注册表中。注册表是一种以树型结构组织的数据库。树的每一个节点称作键(key),每个节点可以包含若干子键,键可以存储数据,存储的数据称作键值。一个键无论其是否有子键,都可以有键值。一个键可以有很多个键值,每个键值都有一个名字,包含若干数据,所包含的数据类型可以有很多种原创 2014-04-26 08:54:48 · 1773 阅读 · 0 评论 -
Win32DLL,MFC常规DLL和MFC拓展DLL 的简单学习总结
Win32DLL使用的是Win32的API实现的,只能导出函数,能被各种应用程序调用,适用范围最广。MFC常规DLL是适用MFC创建的,就像MFC程序跟Win32程序的关系一样,MFC常规DLL和Win32DLL的关系也是如此。它使用MFC的机制,只能导出标准C函数。如此,它便可以被大部分Win32程序调用。MFC拓展DLL也也使用的是MFC机制创建的,相比于MFC常规DLL,拓展原创 2014-04-25 16:32:06 · 1197 阅读 · 0 评论 -
《解读window核心编程》 之 char与wchat_t在WinNT.h下的定义
原创 2014-04-22 09:33:57 · 1458 阅读 · 0 评论 -
《解读window核心编程》 之 字符和字符串处理方式
推荐的字符和字符串处理方式开始将文本字符串想象为字符的数组,而不是 char 或字节的数组;用通用数据类型(如 TCHAR/PTSTR )来表示文本字符和字符串;用明确的数据类型(如 BYTE 和 PBYTE )来表示字节,字节指针和数据缓冲区;用 TEXT 或 _T 宏来表示字面量字符和字符串,但为了保持一致性和更好的可读性,请避免两者混用;执行全局替换(例如用 PTSTR 替换 PST原创 2014-04-22 10:25:52 · 1327 阅读 · 0 评论 -
《解读Windows 核心编程》 之 FormatMessage()的用法
FormatMessage是一个Windows API函数。它的功能就是将GetLastError函数得到的错误信息(这个错误信息是数字代号)转化成字符串信息的函数。DWORD WINAPI FormatMessage ( DWORD dwFlags, // source and processing options原创 2014-04-21 10:03:16 · 2380 阅读 · 0 评论 -
《解读window核心编程》 之 内核对象
1. 简单区分内核对象和其他对象的方法:创建需要安全信息的多半是内核对象。2. 每个进程有一个内核对象表,表的每一项是一个简单结构,包括真实内核对象地址和访问权限等。用户代码持有的内核对象句柄其实是对象表中对应项的索引。因此如果CloseHandle关闭一个对象后没有清空变量,且在对象表的同样位置恰好又创建了一个新的内核对象,对之前没清空的无效变量的访问会造成b原创 2014-04-23 08:49:13 · 1475 阅读 · 0 评论 -
《解读window核心编程》 之 进程
1. 进程是执行文件的运行时形态。包括两部分:内核数据(对应内核对象)、地址空间(包括执行文件代码和栈堆等动态内存)。2. 把VC的“系统-子系统”值删除掉,即不指定控制台或GUI,则编译器会根据代码中存在main或者WinMain来自动选择子系统(这里不谈Unicode了),很方便。3. 启动程序:根据子系统执行mainCRTStartup原创 2014-04-24 08:48:50 · 1746 阅读 · 0 评论 -
最常见的Windows数据类型
原创 2014-04-24 16:55:59 · 1338 阅读 · 0 评论 -
常用的环境变量
原创 2014-04-24 21:08:51 · 1374 阅读 · 0 评论 -
相对路径 和 绝对路径
绝对路径:是从盘符开始的路径,形如C:\windows\system32\cmd.exe相对路径:是从当前路径开始的路径,假如当前路径为C:\windows要描述上述路径,只需输入system32\cmd.exe实际上,严格的相对路径写法应为.\system32\cmd.exe其中,.表示当前路径,在通常情况下可以省略,只有在特殊的情况下不能省略。假原创 2014-04-25 09:26:04 · 1500 阅读 · 0 评论 -
虚拟内存布局、内存的分工、堆与栈
进程的虚拟内存空间分为两个部分,低2GB(或3GB_)由应用程序使用,高2GB(或1GB)由系统内核程序使用。系统内核的内存空间中包括驱动程序,系统内核可执行程序、用于内存管理的数据结构(页目录、页表等),用于进程管理、线程调度的数据结构、各种中断处理程序,系统缓存等。应用程序可使用的低地址空间中包括了应用程序的代码、数据(全局变量等)、系统和用户DLL的代码、各线程的栈、堆等。栈原创 2014-04-25 11:53:26 · 3046 阅读 · 0 评论 -
附加依赖项 和 附加库目录 的使用有什么区别?
附加依赖项 是指输入项,如某个.LIB文件。附加库目录 是你用 #pragma comment(lib,"a.lib")的时候;此时就搜索a.lib的路径列表就包含这个路径。若是要链接一个lib,直接把它添加到附加依赖项 和 把它所在的目录添加到附加库目录里面有什么区别?添加到附加依赖项 :你的LIB文件被真正包含进来了。把它所在的目录添加到附加库目录里原创 2014-04-25 08:51:09 · 5204 阅读 · 1 评论 -
注册表从入门到精通
注册表对有的人还是比较陌生的,因为现在第三方软件太多了,如优化大师、魔法兔子等等,但个人觉得改善系统的第三方软件还不够完善,如果初级用户使用不当,会出现严重的后果,所以提供这篇文章,希望大家多多学习,本人能力有限,还希望大家多提宝贵意见: 一、注册表的由来PC机及其操作系统的一个特点就是允许用户按照自己的要求对计算机系统的硬件和软件进行各种各样的配置。早期的图形操作系统,如Win3.x转载 2014-04-29 10:47:30 · 6333 阅读 · 2 评论