2

我看过这些问题,但我问的不是同一个问题:
有没有办法检查文件是否正在使用?
以及
如何检查文件是否在 c# 中使用?

我在问这个问题,如何检测文件是否在另一个进程中打开。这是其他人问的同样的问题,但他们得到的答案告诉他们看看他们是否可以获得文件的独占锁定,以暗示文件正在另一个进程中打开。我不希望获得对文件的独占锁定,因为我不想潜在地干扰其他进程的操作。

此外,不同的操作系统可能会有不同的行为 - 一些操作系统可能支持文件系统级或块级快照或卷影副本之类的东西,这可能允许您获得文件的独占锁定,即使其他进程已打开文件以供读取。

其他问题中的一个人说您可以测试系统中所有打开的文件句柄。这是唯一的方法吗?如果是这样,人们将如何在 C# 中做到这一点?我没有看到任何明显的本地 .Net 类来浏览系统中所有打开的文件句柄。

4

1 回答 1

3

看看这是否有帮助

它有关于这个问题的详细信息

http://www.codeproject.com/Questions/531409/fileplusisplususedplusbyplusanotherplusprocessplus

于 2013-07-04T18:00:52.483 回答