如何以编程方式获取文件夹结构下的locking文件列表?

继续这个问题: 如何解锁被.NET中的进程locking的文件 ,如何以编程方式获取locking在特定文件夹及其子文件夹中的文件列表?

我正在使用Windows 2003,.NET 3.5,C#3.0。

更新:一些背景…基本上我们正在共享服务器上封闭封闭的网站。 在从IIS中删除站点后,我们将该站点的文件夹结构移到一个存放了6周的存档中。 即使IIS站点和FTP已经被停止和删除,我们仍然在移动过程中遇到locking的文件。 所以,事先知道还有什么可以locking的。

如另一个问题回答: 如何检查文件锁定?

唯一的方法就是全部尝试,并将它们添加到列表中,如果它引发异常。 正如上面提到的问题所提到的,这不是一个可靠的清单,只能给你一个特定时间点的概述。

实时检测锁定文件的唯一可靠方法是编写一个设备驱动程序(如filemon ),但我不认为你可以在C#中做到这一点。