1
System.Security.AccessControl.DirectorySecurity ds = new System.Security.AccessControl.DirectorySecurity();
                string useraccountForDirectoryCreate = System.Environment.UserDomainName;
                ds.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule(useraccountForDirectoryCreate,
                System.Security.AccessControl.FileSystemRights.FullControl,
                        System.Security.AccessControl.InheritanceFlags.ContainerInherit |
                        System.Security.AccessControl.InheritanceFlags.ObjectInherit,
                        System.Security.AccessControl.PropagationFlags.None,
                        System.Security.AccessControl.AccessControlType.Allow));
                Directory.CreateDirectory(folder.Text,ds);
                Directory.CreateDirectory(folder.Text + "\\timetables",ds);

我正在尝试在我的逻辑驱动器中创建一个文件夹但我不断收到异常: UnauthorizedAccessException 错误:访问被拒绝我什至以管理员身份运行仍然是相同的结果

4

1 回答 1

2

我重写了您的代码并在我的机器上进行了测试。这段代码对我有用;但是,您的代码也是如此,因此您必须没有对 Program Files 的写入权限。

您应该使用 Path.Combine(...) 而不是手动附加字符串。

var ttg = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "TimeTableGenerator");
Directory.CreateDirectory(ttg);
于 2013-08-08T19:26:14.923 回答