在项目中一个应用场景是监控一个目录变化,但从监控目录外部拖拽一个文件夹进来,拖拽进来的文件夹里的文件无法监控到,通过查看资料,发现是一个参数的设置
#include <iostream> #include "DirectoryChanges.h" #include "MyDirectoryChangeHandler.h" int main() { wcout.imbue(locale("CHS")); CDirectoryChangeWatcher watcher; CMyDirectoryChangeHandler MyChangeHandler; watcher.WatchDirectory(_T("C:\\Users\\Administrator\\Desktop\\111"), FILE_NOTIFY_CHANGE_FILE_NAME|FILE_NOTIFY_CHANGE_DIR_NAME, &MyChangeHandler, TRUE, //<-- watch sub directories? NULL, //<-- Include Filter NULL);//<-- Exclude Filter getchar(); return 0; }
FILE_NOTIFY_CHANGE_FILE_NAME :当监控目录下有文件变化得到通知
FILE_NOTIFY_CHANGE_DIR_NAME : 当监控目录下有文件夹变化得到通知 之前就是少设置了FILE_NOTIFY_CHANGE_DIR_NAME这个属性,导致监控目录下拖拽文件夹无法得到通知,现在设置这个属性就可以得到通知了!!!
点击下载demo
时间: 2024-11-05 02:41:06