ReadDirectoryChangesW并确定导致更改的进程

时间:2011-09-30 05:34:51

标签: winapi api filesystems readdirectorychangesw

如何确定哪些进程正在对哪些文件进行更改。

我确实找到了这个:

FileSystemWatcher: how to know which process made the change?

但是我很好奇最近有什么变化吗?是否有可能使用ReadDirectoryChangesW或其他任何内容确定哪个进程正在对文件系统进行更改?我不想编写或使用内核驱动程序。

3 个答案:

答案 0 :(得分:0)

对要跟踪的文件创建安全审核。该信息将记录在安全事件日志中。

答案 1 :(得分:0)

虽然可以找到使用内核驱动程序更改文件的进程(例如,process monitor),但是如果文件夹在网络上共享,则始终存在识别进程的问题,并且另一台计算机上的进程通过网络修改文件。 在这种情况下,即使是内核驱动程序也会将网络共享进程标识为访问文件的进程,而不是另一台计算机上的进程。

答案 2 :(得分:0)

我似乎无法发表评论。我会对您的Python代码感兴趣,该代码会对文件或路径进行安全审核。如果它与系统安全事件日志混淆,这有点遗憾,但你不可能拥有一切! : - )

到目前为止,我一直在更改时使用GetForegroundWindow来最终获得关联的进程。它只适用于用户发起的更改,但这主要是我一直感兴趣的。除了后台进程,唯一的小问题是有时会产生一个进程来完成任务(如批处理文件)和当你想要了解更多关于它的时候(例如产生它的过程),它是不存在的。不过,我认为即使是安全审核也是一个问题。