c++ - 有没有人在 C++/WinAPI 中有类似 FileSystemWatcher 的类?

标签 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 这样的东西,那就更好了。 但是请不要依赖标准库、boost 和原始 WinAPI。 谢谢!

最佳答案

ReadDirectoryChangesW 函数怎么样?

http://msdn.microsoft.com/en-us/library/aa365465(VS.85).aspx

它将通知存储在缓冲区中,因此您不会错过任何更改(除非缓冲区溢出)

关于c++ - 有没有人在 C++/WinAPI 中有类似 FileSystemWatcher 的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2107275/

相关文章:

c++ - 当您有结构名称和字段值列表时,是否可以以编程方式创建结构对象并填充字段

c++ - 寻找最大子数组的分而治之算法 - 如何同时提供结果子数组索引?

java - JNA 找到窗口,但不将其最小化

powershell - Cryptolocker 蜜 jar FileSystemWatcher

c++ - 指定boost::multi_array中所有数组的长度

delphi - CreateWindow 不再存在于 user32.dll 中

c# - 如何自定义 Windows 窗体的系统菜单?

android - 如何在 Android 设备上使用 inotifyd 持续监控目录

c# - C# 中的 FileStream 和 FileSystemWatcher,奇怪的问题 "process cannot access the file"

c++ - C++ 中的 Gnome N 元树用法