2010-09-01 160 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区块中,这样即使发生异常,您的代码也是安全的。