2010-09-01 280 views
1

我正在使用以下代碼來獲取具有特定擴展名的文件的目錄。它會拋出一個錯誤,您不具有管理員權限。請告知如何解決它。管理員權限錯誤

Imports System.IO 

Public Class Form1 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     Dim di As New DirectoryInfo("c:\") 
     Dim files() As FileInfo = di.GetFiles("*.abc", SearchOption.AllDirectories) 
    End Sub 
End Class 
+0

Whigh操作系統是否在運行此代碼? XP,Vista或7? 「 – 2010-09-01 15:06:38

回答

2

給您的帳戶permssions到C盤的根目錄下(我假設你正在使用的Win7或Vista的可能,在默認情況下只有管理員可以訪問C:\我認爲)。

雖然更好的解決方案是使用不同的目錄。

+0

+1」雖然更好的解決方案是使用不同的目錄。「 – Josaph 2010-09-01 16:57:46

0

我假設你在Vista或Win7上運行。

出現此錯誤的原因是,常規用戶帳戶無權訪問本地驅動器上的所有文件。我不確定文件夾中的確切文件夾,但大多數文件夾位於文件夾中。我猜想它應該保護您的計算機免受未經授權的訪問和修改。

解決此問題的唯一方法是明確運行具有更高權限的應用程序,並授予其訪問進程中的文件的權限。

如果您在Vista或Win7上運行,則必須以管理員身份運行Visual Studio(從上下文菜單中選擇該項目)才能運行代碼。
如果您將應用程序作爲獨立應用程序(而不是Visual Studio)運行,那麼您還必須以管理員身份運行該程序。

作爲一項預防措施,您可以將代碼包裝在Try...Catch區塊中,這樣即使發生異常,您的代碼也是安全的。