是否有可能知道哪个应用程序创build了一个文件?

Windows(或一般的NTFS)是否存储在任何地方创build文件的应用程序的名称?

或者是有一个确定哪个应用程序负责创build一个文件(几秒钟后),它是最初创build后的强大方式?

我们正在制定一个文件pipe理系统。 它使用FileSystemWatcher监视FS的新文件 – 这一部分很简单 – 但我希望能够跟踪哪个应用程序/版本创build了它检测到的新文件。

我知道我可以查找属于正在运行的进程的打开的文件句柄,但想必这种方法只会在应用程序创build文件后才能工作,然后保持locking,对吗? 有没有更好的办法?

Solutions Collecting From Web of "是否有可能知道哪个应用程序创build了一个文件?"

不,不是事后。

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