访问路径被拒绝 - Vb.Net

时间:2009-11-21 21:40:17

标签: vb.net visual-studio-2008 search full-text-search

这里有一个用VB.NET制作的小文件搜索引擎:  ListBox1.Items.Clear()         ListBox3.Items.Clear()

    ChDir("C:\")
    Try
        For Each foundFile As String In My.Computer.FileSystem.GetFiles( _
            My.Computer.FileSystem.CurrentDirectory, _
            FileIO.SearchOption.SearchAllSubDirectories, TextBox4.Text & "*.*")
            ListBox1.Items.Add(foundFile)
            ListBox3.Items.Add(foundFile)

        Next
    Catch ex As UnauthorizedAccessException
        MsgBox("Could not access file or not enough priveledges")
    End Try

在整个C:\中搜索您输入的文件。虽然我得到的问题是一些目录被拒绝访问或不存在现有目录。我该如何解决这个问题?

由于

2 个答案:

答案 0 :(得分:1)

有些目录根本无法像这样访问。使用带有空catch的try / catch循环来吞下错误并获取可以使用的文件。

Try
    'code for testing goes here
Catch
End Try

如果没有抛出错误,上面的代码在正确实现时应该有效,如果没有抛出错误,那么什么都不会发生。

答案 1 :(得分:0)

通过授予被拒绝目录的权限,并关闭锁定目录中文件的程序。

MSDN说,在GetFiles方法的上下文中,UnauthorizedAccessException意味着用户缺少必要的权限。见http://msdn.microsoft.com/en-us/library/t71ykwhb(VS.80).aspx

我认为某些目录是由文件系统保留的,不管您的权限如何,都不允许进行某些类型的访问。