【发布时间】:2013-01-03 18:01:10
【问题描述】:
我正在查看我的系统根驱动器 (C:\) 中的所有文件和文件夹更改通知。我正在使用 ReadDirectoryChangesW() WIN API 使用 VC++ 来实现这一点,现在,我能够监控文件的所有类型的更改通知,即重命名、删除、创建...
但是,我的问题是我只想监视文件和文件夹的更改,这些更改是由用户手动完成的,而不是进程或程序。
因为,如果我使用 ReadDirectoryChangesW() WIN API 查看根文件夹,我会在短短几分钟内收到数千条更改通知,因为大多数临时文件和数据文件是由操作系统或第三方安装的应用程序创建的...
如何仅监控用户手动完成的文件更改(即仅由用户在鼠标或键盘的帮助下发起的更改)。
【问题讨论】:
-
为什么要监控根目录?它不能监视一些特定于应用程序的目录吗?
-
但用户必须使用程序来创建文件。这不像人们会用小磁铁往他们的磁盘上走……
-
检查它是否已经以编程方式启动,检查进程树。可以通过
CreateToolhelp32Snapshot查询。 -
User Friendly — 用磁铁手动编辑 inode!
-
别忘了butterflies。
标签: c++ windows visual-studio-2010 winapi filesystems