【发布时间】:2009-07-12 16:18:27
【问题描述】:
我正在尝试遍历开始菜单上的项目,但我不断收到 UnauthorizedAccessException。我是目录的所有者,我的用户是管理员。
这是我的方法(在 dll 项目中):
// root = C:\Users\Fernando\AppData\Roaming\Microsoft\Windows\Start Menu
private void walkDirectoryTree(DirectoryInfo root) {
try {
FileInfo[] files = root.GetFiles("*.*");
foreach (FileInfo file in files) {
records.Add(new Record {Path = file.FullName});
}
DirectoryInfo[] subDirectories = root.GetDirectories();
foreach (DirectoryInfo subDirectory in subDirectories) {
walkDirectoryTree(subDirectory);
}
} catch (UnauthorizedAccessException e) {
// do some logging stuff
throw; //for debugging
}
}
代码在开始迭代子目录时失败。我还应该做什么?我已经尝试过创建清单文件,但没有成功。 另一点(如果相关):我只是在用 Visual Studio 运行一些单元测试(以管理员身份执行)。
【问题讨论】:
标签: c# uac privileges