检查文件是由进程创建还是由用户使用C ++创建

问题描述 投票:0回答:2

我正在监视我的系统根驱动器(C:\),查看所有文件和文件夹的更改通知。我正在使用ReadDirectoryChangesW()WIN API使用VC ++来实现此目的,现在,我能够监视文件的各种更改通知,即重命名,删除,创建...

但是,我的问题是我只想监视文件和文件夹的更改,这些更改是由用户而不是进程或程序手动完成的。

因为,如果我用ReadDirectoryChangesW()WIN API监视根文件夹,由于大多数临时文件和数据文件是由OS或第三方安装的应用程序创建的,所以在短短的几分钟内我会收到数千个更改通知。] >

如何仅监视用户手动完成的文件更改(即,仅由用户借助鼠标或键盘启动的更改)。

我正在监视我的系统根驱动器(C:\),查看所有文件和文件夹的更改通知。我正在使用ReadDirectoryChangesW()WIN API使用VC ++来实现此目的,现在,我可以监视所有类型的...

c++ windows visual-studio-2010 winapi filesystems
2个回答
3
投票

无法区分用户启动的活动和应用程序启动的活动。如果考虑一下,用户启动的活动将通过程序完成,无论是Windows资源管理器本身,DOS提示符,记事本,还是其他。从操作系统的角度来看,所有内容最终都会通过相同的文件系统API进行监视。]


1
投票

线索最终位于文件的位置。用户文档正确属于“我的文档”;属于应用程序的文件属于CommonAppData,单个用户的临时文件位于其AppData中。

© www.soinside.com 2019 - 2024. All rights reserved.