Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 通过在写入文件之前检测系统文件夹,避免System.Runtime.InteropServices.COMException_Vb.net_Windows 7_Windows Vista - Fatal编程技术网

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

Vb.net 通过在写入文件之前检测系统文件夹,避免System.Runtime.InteropServices.COMException,vb.net,windows-7,windows-vista,Vb.net,Windows 7,Windows Vista,我有一个vb.net应用程序,用户可以选择将excel文件写入其中的目录。如果用户选择系统目录是,我的用户会这样做,不要问我为什么在运行时抛出system.Runtime.InteropServices.COMException 我正在处理这个异常,告诉用户请选择另一个目录 我的应用程序工作正常,但我真的想知道如何在抛出异常之前检测目录是否允许将文件写入其中 不,使用System.IO.DirectoryInfo不会起作用。。。也许是这样,但我还不够好 谢谢大家! 尝试在目标文件夹中创建一个虚拟

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

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

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

不,使用System.IO.DirectoryInfo不会起作用。。。也许是这样,但我还不够好


谢谢大家!

尝试在目标文件夹中创建一个虚拟文件,如果成功,则删除该文件;如果创建失败,则很可能无法将.xlsx文件保存在该文件夹中!我确信DirectoryInfo将允许检测系统文件/文件夹,但是,虚拟文件技巧是检查任何文件夹权限的廉价方法。

是的,我当然想到了虚拟文件,但它与我现在看到的有点相同:在运行时处理抛出的异常。我只是想知道是否有更优雅的方式来做到这一点。不过感谢您的回答。FileIOPermission听起来很有希望,但在我看来,如果权限被拒绝,所有道路都会引发异常。您正在使用SaveFileDialog吗?如果是,是否有允许在接受用户选择之前检查目的地的属性?OnFileOk看起来像是验证所选文件的合适挂钩。实际上没有SaveFileDialog。。。我有一个设置屏幕,用户在其中选择默认目录。我正在使用OpenFileDialog让用户选择文件夹。。。因为FolderBrowserDialog很难理解。。我要做的是精确地使用OnFileOk事件进行检查。我将看一看您建议的FileIOPermission类,并让大家都知道。非常感谢。