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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查文件是由进程创建还是由用户使用C ++创建相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

答案

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

另一答案

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

以上是关于检查文件是由进程创建还是由用户使用C ++创建的主要内容,如果未能解决你的问题,请参考以下文章

使用C创建子进程和父进程

C 语言编程 — fork 进程操作

Supervisor的使用

Docker 使用Supervisor来进程管理

如何查看某进程调用的DLL文件?

crontab计划任务执行命令或者脚本