Ale*_*ter 11 c++ winapi filesystemwatcher
我需要原始C++/WinAPI中的.Net的FileSystemWatcher模拟.我几乎开始使用FindFirstChangeNotification/FindNextChangeNotification来编写一个代码,但后来我发现我可能不是第一个需要这个并且可能有人愿意分享的人.
理想情况下我需要的是一个可以按如下方式使用的类:
FileWatcher fw;
fw.startWatching("C:\MYDIR", "filename.dat", 
     FileWatcher::SIZE | FileWatcher::LAST_WRITE,
     &myChangeHandler);
...
fw.stopWatching();
或者,如果它会使用像boost :: signal这样的东西,它会更好.但是,除了标准库,提升和原始WinAPI之外,没有其他依赖项.谢谢!
那ReadDirectoryChangesW函数怎么样?
http://msdn.microsoft.com/en-us/library/aa365465(VS.85).aspx
它将通知存储在缓冲区中,因此您不会错过任何更改(除非缓冲区溢出)
2021 答案:
下面列出的 repo 的分叉版本正在积极维护:https : //github.com/SpartanJ/efsw
旧答案:
这是一个跨平台的解决方案,但是很好地包装了 Win32 的东西:https : //github.com/jameswynn/simplefilewatcher
| 归档时间: | 
 | 
| 查看次数: | 13191 次 | 
| 最近记录: |