首页 > 代码库 > 解决往监控目录拖拽文件夹无法监控到的问题

解决往监控目录拖拽文件夹无法监控到的问题

在项目中一个应用场景是监控一个目录变化,但从监控目录外部拖拽一个文件夹进来,拖拽进来的文件夹里的文件无法监控到,通过查看资料,发现是一个参数的设置

 

#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

解决往监控目录拖拽文件夹无法监控到的问题