我正在监视我的系统根驱动器 (C:\) 以获取所有文件和文件夹更改通知。我正在使用 ReadDirectoryChangesW() WIN API 来使用 VC++ 实现此目的,现在,我能够监视文件的所有类型的更改通知,即重命名、删除、创建...
但是,我的问题是我只想监视文件和文件夹的更改,这些更改是由用户手动完成的,而不是进程或程序。
因为,如果我使用 ReadDirectoryChangesW() WIN API 查看根文件夹,我会在短短几分钟内收到数以千计的更改通知,因为大多数临时文件和数据文件是由操作系统或第三方安装的应用程序创建的...
我如何才能只监控用户手动完成的文件更改(即仅由用户在鼠标或键盘的帮助下启动的更改)。
最佳答案
无法区分用户启动的事件和应用程序启动的事件。如果您考虑一下,用户启动的事件是通过程序完成的,无论是 Windows 资源管理器本身、DOS 提示符、记事本等等。从操作系统的角度来看,一切最终都通过相同的文件系统 API,这是监控发生的地方。
关于c++ - 检查文件是由进程创建的还是用户使用 C++ 创建的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14144522/