考虑网络文件夹:
\\desiis\c$\Company\B2b\Monitor
在该计算机上,任何尝试删除目录Monitor
的进程都会收到错误,因为LAN上的用户打开了该目录(可能是Windows资源管理器)。
我是否可以通过C#和.NET框架检测是否有任何用户(以及哪个用户)打开/正在使用某个特定目录?
答案 0 :(得分:2)
不,我不可能知道。
看起来你必须把这个出现的异常作为一种解决方法。
答案 1 :(得分:2)
我不确定您是否可以获取目录中的特定用户,但C#.NET中的DirectoryInfo类可能是最好的方法。
http://msdn.microsoft.com/en-us/library/system.io.directoryinfo_members.aspx
在此链接中查看API,您会发现有一种方法可以获取有关上次访问目录的信息,而不是谁。此外,您可以在尝试删除目录时捕获任何异常,因为它不可用(因为您可能已经注意到了异常)。
另请注意,异常捕获成本很高,您应该通过执行此操作来评估流程中的任何减速。