我需要原始 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/