读书人

Winform在VISTA系统下如何删除文件夹

发布时间: 2012-03-09 21:42:55 作者: rapoo

Winform在VISTA系统下怎么删除文件夹?
一个winform程序,用Directory.Delete(path)删除某个文件夹(文件夹是空的,不存在文件占用的问题),在其他系统下一切正常,但是在vista系统下抛出“Access to the path .... is denied”的异常。已经尝试过如下方法

DirectorySecurity dSecurity = Directory.GetAccessControl(path);
①dSecurity.RemoveAccessRule(new FileSystemAccessRule(WindowsIdentity.GetCurrent().Name, FileSystemRights.FullControl, AccessControlType.Deny));
②dSecurity.RemoveAccessRule(new FileSystemAccessRule(WindowsIdentity.GetCurrent().Name, FileSystemRights.Delete, AccessControlType.Deny));
③ dSecurity.AddAccessRule(new FileSystemAccessRule(WindowsIdentity.GetCurrent().Name, FileSystemRights.FullControl, AccessControlType.Allow));
④dSecurity.AddAccessRule(new FileSystemAccessRule(WindowsIdentity.GetCurrent().Name, FileSystemRights.Delete, AccessControlType.Allow));
Directory.SetAccessControl(path, dSecurity);

还是不行。请问有什么方法可以解决?

[解决办法]
让用户在应用程序兼容性上选上 以管理员方式操作

读书人网 >C#

热点推荐