File Watcher – 获取在Windows中创build文件的进程名称?

有没有一种很好的方法来获取在Windows中创build文件的进程名称?

我有一个Windows 2000 Server上的目录
C:\ WINNT \ Temp用名为:
70618199
21834082

他们总是121,201 KB的大小。

以编程方式我可以“捕获”在这个位置丢弃文件的程序名称或服务名称?

更多信息:
我对此做了更多的研究。 我重命名文件TIFF,并能够打开它。
该机器通过定制的ASP.NET应用程序作为文档search工具。 机器在E:\驱动器上包含大约50,000个TIFF文档。 此机器也运行SQL Server 2000 w /全文索引打开。 全文索引绝不会触及TIFF – 但不应该因为这是SQL对吗? 但是,FTS确实需要启用索引服务。 奇怪的事情这个TIFF似乎是最大的东西服务的Web服务器。 IIS或索引服务是否使用C:\ WINNT \ Temp进行某种caching? 思考?

解决scheme(也许?)这似乎是Microsoft索引服务。
当我closures它时,这些文件都不会在WINNT \ Temp中创build。
它似乎抓住它find的最大的文件并将其复制到WINNT \ Temp。 这很奇怪 当您处理100MB + TIFF文件时,这可能会导致磁盘空间不足。 很烦人。
猜猜我将closures索引服务的“Web”分支。

Solutions Collecting From Web of "File Watcher – 获取在Windows中创build文件的进程名称?"

总是有Process Monitor取代FileMon,它会告诉你哪个进程正在访问有问题的文件。

如果你想要一些类似于fuser的东西,你可以看看Process Explorer

它不会让你看一个文件,但你可以看到当前正在运行的进程是否正在访问该临时目录并创建类似的已命名临时文件。

我已经使用FileMon.exe,但只能在XP上使用。

我发现从编程的方式来实现这一点的唯一方法是运行Sysinternal的命令行处理应用程序,并传入文件名并读取控制台输出,以尝试捕获与该文件打开句柄的源应用程序。

否则其他人提到的公用事业将会很好。

您始终可以将该目录设置为只读,并查看抛出的内容。 虽然如果它是一个文件服务器,你可能不想这样做。

 \ RECYCLER \ S-1-5-21-1482476501-1644491937-682003330-1013 \ service.exe

这是一个Recycler病毒。 它创建了一个名为“Recycler”的隐藏文件夹在所有磁盘分区中,我无法从Windows安全模式中删除它们。 诺顿,AVG卡巴斯基未能检测到或删除它。

我关掉系统还原,用Boot盘重新启动电脑,进入命令提示符,并从所有驱动器中删除“Recycler”文件夹。 使用命令rmdir / sc:\ recycler

这是在Windows XP上唯一适用于我的东西。

只要使用标准的Win32 API(NAPI)。

参见Adv。 Win32 API函数新闻://comp.os.ms-windows.programmer.win32源代码(C)