通过在写入文件之前检测系统文件夹来避免System.Runtime.InteropServices.COMException

时间:2010-11-26 03:25:44

标签: vb.net windows-7 windows-vista

我有一个vb .net应用程序,用户可以在其中选择一个写入excel文件的目录。如果用户选择系统目录(是的,我的用户这样做,不要问我原因),那么在运行时抛出System.Runtime.InteropServices.COMException。

我正在处理此异常,告诉用户请选择另一个目录。

我的应用程序工作正常,但我真的想知道如何检测目录是否允许在抛出异常之前将文件写入其中。

不,使用System.IO.DirectoryInfo并不能解决问题......或者可能会这样做但是我还不够好。

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试在目标文件夹中创建一个虚拟文件,如果成功则删除 - 如果它(创建)失败,则很可能无法将.xls(x)文件保存在那里!确保DirectoryInfo允许检测系统文件/文件夹,但是,虚拟文件​​技巧是检查任何文件夹权限的便宜方法。