Windows C++
文章平均质量分 79
BruceAYG
彪悍人生无须解释
展开
-
Windows平台下 C++注册表项重命名实现
最近在写一个小项目的时候需要能够编辑注册表相关的信息,过程中发现windows没有给能够修改注册表项名称的API接口(反正我没找到),只能找到创建/删除之类的API(包括正常Reg系列API和SH系列API)。万般无奈之下,我发现API中的导入导出函数可以直接覆盖旧的目标注册表项,通过Save/LoadKey(RestoreKey)的方法将旧的注册表项内的内容覆盖到新创建的项上从而实现了注...原创 2018-03-23 10:02:11 · 2188 阅读 · 2 评论 -
Windows平台 C++进程树获取实现
最近在写一个小项目,涉及到查找和结束进程树的功能实现,通过系统API能够获取到的信息有进程名,进程ID,父进程ID等,所以通过一个递归操作可以获取到一棵完整的进程树。但由于进程ID是系统随机给予的,并没有什么规律,所有最理想的做法是从最祖父进程(孤儿进程)开始查找子进程,再查找孙子进程…… 这种思路。我的程序使用MFC对话框写的,具体效果如下图。首先是进程信息存放的结构体//进程结构体typed...原创 2018-03-23 13:47:55 · 2656 阅读 · 0 评论 -
Windows平台 C++ 监控新建文件和文件夹
最近在写一个小项目涉及到监控新建文件和文件夹的操作,经过一番调研和学习,我找到了一个比较好用和合适的方法。PS:函数中的PrintError函数是我调试输出错误码的函数,可以忽略和注释掉。HANDLE hRootHandle = CreateFile( szRootPath, //监控路径 FILE_LIST_DIRECTORY, FILE_SH...原创 2018-03-23 14:08:20 · 2149 阅读 · 0 评论 -
Windows平台C++ 启用和禁用设备
在windows平台上有一套SetupDi系列API可以获取所有的硬件设备,以及对其进行操作。现在我来主要说一下对指定设备的启用和禁用操作。首先说明一下,我的项目是个MFC对话框程序,我自己定义了一个结构体用来存放相关的设备信息typedef struct tagDeviceInfo{ //设备友好名称,很友好…… CString szDeviceName; //设备类...原创 2018-03-21 15:53:59 · 9581 阅读 · 19 评论 -
win7及以上系统C++实现Hook explorer文件级监控复制、剪切和删除操作
最近项目组需要实现一个对windows用户文件操作进行监控的功能,(也就是使用explorer资源管理器的操作),于是乎我就想到了使用Hook的方法进行拦截,查找一番资料后发现XP调用的是最简单的CopyFileEx, MoveFileWithProgressW, ReplaceFileW之类的API,所以XP是最好解决的,但是到了Vista及以后的系统中,微软采用了一种新的方法——com组件里的...原创 2018-08-06 18:23:25 · 6941 阅读 · 15 评论 -
Windows C++ 监控共享文件夹变化
最近由于项目需求,需要编写一个监控本机共享文件夹的变化的模块,经过查询资料,找到并实现了一个较为稳定的方式项目实现是使用Win32 C++的,测试平台是Win 7 64和Win 10 64,XP测试也是好使的。下面是具体实现首先要获取并监控系统共享文件夹的路径,相关注册表路径为 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Lanm...原创 2019-05-27 11:49:16 · 2101 阅读 · 0 评论