2011-07-19 118 views
3

Windows(或一般的NTFS)是否存储在任何地方创建文件的应用程序的名称?是否可以告诉哪个应用程序创建了一个文件?

另一种方法是确定哪个应用程序负责在最初创建文件后立即创建文件(比如几秒钟)?

我们正在研究文档管理系统。它使用FileSystemWatcher监控FS的新文件 - 这部分很简单 - 但我希望它能够跟踪哪个应用程序/版本创建了它检测到的新文件。

我知道我可以查找属于正在运行的进程的打开文件句柄,但想必这种方法只能在应用程序创建该文件并将其锁定在其上时正常工作,对吗?有没有更好的办法?

回答

3

不,事后并非如此。

但是,您可以创建一个服务来观察所有文件访问并自己记录信息,System Internals中的FileMon会执行此操作。 (它实现了位于NTFS驱动程序之上的OS驱动程序)

+0

谢谢!看起来FileMon现在已被弃用,但Process Monitor(http://technet.microsoft.com/en-us/sysinternals/bb896645)演示了同样的事情。 – Euan

相关问题