删除用户中的文件夹开始菜单\程序

时间:2011-09-09 07:14:46

标签: windows vb.net security .net-3.5 windows-7

我正在开发一个VB.NET应用程序,我们将在公司网络上的用户登录时运行,这将设置用户的环境,这将包括开始菜单。

我有一种方法试图删除位于用户的Start Menu \ Programs文件夹(C:\ Users {user} \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs)中的所有文件和文件夹,我们的环境是Windows 7。

Private Function deleteFolderFilesAndSubFolders(ByVal location As DirectoryInfo, Optional ByVal exclude As String = "") As Boolean
  For Each f As DirectoryInfo In location.GetDirectories
    For Each i As FileInfo In f.GetFiles
      i.Delete()
    Next
    f.Delete()
  Next
End Function

执行此方法时,我收到一个异常:

Access to the path 'Maintenance' is denied.

位于用户程序文件夹中的是3个标准应用程序,“管理工具”,“维护”和“启动”。我排除了启动目录,但希望删除其他两个。

任何人都可以指出我能够删除这些文件夹的正确方向,我不介意他们是否在每次登录时重新创建,我的脚本将在每次登录时运行,并且每次都会重新创建开始菜单

1 个答案:

答案 0 :(得分:1)

只有当您的应用程序以管理员模式运行时,才能删除此文件夹,因为这是用户数据的重要组成部分。

因此,您的应用程序可以执行的唯一方法是以管理员模式运行请求:

How do I force my .NET application to run as administrator?

检查引发异常的文件夹,并检查其上的权限。