2009-11-21 88 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