检查文件夹是否在C#中使用

时间:2009-12-16 15:18:57

标签: c# .net file-io

考虑网络文件夹:

\\desiis\c$\Company\B2b\Monitor

在该计算机上,任何尝试删除目录Monitor的进程都会收到错误,因为LAN上的用户打开了该目录(可能是Windows资源管理器)。

我是否可以通过C#和.NET框架检测是否有任何用户(以及哪个用户)打开/正在使用某个特定目录?

2 个答案:

答案 0 :(得分:2)

不,我不可能知道。

看起来你必须把这个出现的异常作为一种解决方法。

答案 1 :(得分:2)

我不确定您是否可以获取目录中的特定用户,但C#.NET中的DirectoryInfo类可能是最好的方法。

http://msdn.microsoft.com/en-us/library/system.io.directoryinfo_members.aspx

在此链接中查看API,您会发现有一种方法可以获取有关上次访问目录的信息,而不是谁。此外,您可以在尝试删除目录时捕获任何异常,因为它不可用(因为您可能已经注意到了异常)。

另请注意,异常捕获成本很高,您应该通过执行此操作来评估流程中的任何减速。