我目前正在尝试实现一个 c++ 程序来监视文件系统上的文件夹。在初始化应用程序时,它会扫描目录并保存一些关于它的元信息。
当程序处于事件状态时发生某些事情时,我可以读取文件夹的更改(例如更改文件夹或文件的名称)。但是我无法在程序未运行时跟踪对目录的更改。启动时我会得到
Removed folder X
Added folder Y
代替
Renamed folder X to Y
是否可以用不同于路径/名称的其他方式来识别目录? 如果是,我将如何在 C++/Qt 中收集该信息?
最佳答案
而不是重新发明轮子,你可以只使用 QFileSystemWatcher 类,Qt 文档指出:-
The QFileSystemWatcher class provides an interface for monitoring files and directories for modifications
如果您希望程序一直运行,那么您可能需要考虑创建服务(在 Windows 中)或守护进程(Linux/OSX)。
关于C++/Qt : track filesystem changes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18353893/