- 博客(9)
- 资源 (2)
- 收藏
- 关注

原创 Windows C++ 监控共享文件夹变化
最近由于项目需求,需要编写一个监控本机共享文件夹的变化的模块,经过查询资料,找到并实现了一个较为稳定的方式项目实现是使用Win32 C++的,测试平台是Win 7 64和Win 10 64,XP测试也是好使的。下面是具体实现首先要获取并监控系统共享文件夹的路径,相关注册表路径为 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Lanm...
2019-05-27 11:49:16
2173

原创 win7及以上系统C++实现Hook explorer文件级监控复制、剪切和删除操作
最近项目组需要实现一个对windows用户文件操作进行监控的功能,(也就是使用explorer资源管理器的操作),于是乎我就想到了使用Hook的方法进行拦截,查找一番资料后发现XP调用的是最简单的CopyFileEx, MoveFileWithProgressW, ReplaceFileW之类的API,所以XP是最好解决的,但是到了Vista及以后的系统中,微软采用了一种新的方法——com组件里的...
2018-08-06 18:23:25
7118
15

原创 Windows平台 C++ 监控新建文件和文件夹
最近在写一个小项目涉及到监控新建文件和文件夹的操作,经过一番调研和学习,我找到了一个比较好用和合适的方法。PS:函数中的PrintError函数是我调试输出错误码的函数,可以忽略和注释掉。HANDLE hRootHandle = CreateFile( szRootPath, //监控路径 FILE_LIST_DIRECTORY, FILE_SH...
2018-03-23 14:08:20
2191
原创 Windows平台 C++进程树获取实现
最近在写一个小项目,涉及到查找和结束进程树的功能实现,通过系统API能够获取到的信息有进程名,进程ID,父进程ID等,所以通过一个递归操作可以获取到一棵完整的进程树。但由于进程ID是系统随机给予的,并没有什么规律,所有最理想的做法是从最祖父进程(孤儿进程)开始查找子进程,再查找孙子进程…… 这种思路。我的程序使用MFC对话框写的,具体效果如下图。首先是进程信息存放的结构体//进程结构体typed...
2018-03-23 13:47:55
2716
原创 Windows平台下 C++注册表项重命名实现
最近在写一个小项目的时候需要能够编辑注册表相关的信息,过程中发现windows没有给能够修改注册表项名称的API接口(反正我没找到),只能找到创建/删除之类的API(包括正常Reg系列API和SH系列API)。万般无奈之下,我发现API中的导入导出函数可以直接覆盖旧的目标注册表项,通过Save/LoadKey(RestoreKey)的方法将旧的注册表项内的内容覆盖到新创建的项上从而实现了注...
2018-03-23 10:02:11
2221
2
原创 Windows平台C++ 启用和禁用设备
在windows平台上有一套SetupDi系列API可以获取所有的硬件设备,以及对其进行操作。现在我来主要说一下对指定设备的启用和禁用操作。首先说明一下,我的项目是个MFC对话框程序,我自己定义了一个结构体用来存放相关的设备信息typedef struct tagDeviceInfo{ //设备友好名称,很友好…… CString szDeviceName; //设备类...
2018-03-21 15:53:59
9793
19
原创 字典树 hdu 4287
http://acm.hdu.edu.cn/showproblem.php?pid=4287很有意思的一道题#include"stdio.h"#include"string.h"#include"stdlib.h"#include"algorithm"using namespace std;struct Trie{ struct Trie * next[26]; int f
2015-07-30 14:18:25
400
原创 字典树 hdu 1075
#include"stdio.h"#include"ctype.h"#include"stdlib.h"#include"string.h"#include"algorithm"using namespace std;struct Trie{ struct Trie * next[26]; int flag;};char xx[1000005][15];
2015-07-24 11:06:48
330
原创 hdu 1247
http://acm.hdu.edu.cn/showproblem.php?pid=1247#include"stdio.h"#include"stdlib.h"#include"string.h"#include"algorithm"using namespace std;char xx[50005][1001];struct Trie{ struct Tri
2015-07-24 10:48:35
334
西红柿插件vs2005,vs2010原版+破解工具
2018-08-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人