2009-11-21 171 views
1

我在这里VB.NET使这个小文件搜索引擎:) ListBox1.Items.Clear() ListBox3.Items.Clear(拒绝访问路径 - Vb.Net

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:\。虽然我得到的问题是某些目录访问被拒绝或不存在的目录。我该如何解决这个问题?

感谢

回答

0

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

MSDN表示,在GetFiles方法的上下文中,UnauthorizedAccessException表示用户缺少必要的权限。请参阅http://msdn.microsoft.com/en-us/library/t71ykwhb(VS.80).aspx

我会想象某些目录是由文件系统保留的,并且无论您的特权如何,都不允许某些类型的访问。

1

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

Try 
    'code for testing goes here 
Catch 
End Try 

当正确实施,如果没有引发错误应该工作,如果被抛出没有错误,则什么也不会发生上面的代码。

+0

一般来说,你不应该需要访问这些目录,只是你知道。 – Cyclone 2009-11-21 21:50:16

+0

我该怎么做? – lab12 2009-11-21 22:13:59

+0

我加入了一些示例代码。用你自己的代码替换评论当然。 – Cyclone 2009-11-22 03:04:00