2

当我在标准用户模式下运行此代码时,我得到了所有驱动器,包括网络驱动器。以管理员身份运行时,网络驱动器不会出现在列表中。是什么赋予了?

List<string> drives = Environment.GetLogicalDrives().ToList();
StringBuilder driveList = new StringBuilder();

foreach (string drive in drives)
    driveList.AppendLine(drive);

MessageBox.Show(driveList.ToString());

这是在 Windows 7 下运行的。网络驱动器来自 Novell。代码使用 .NET 4 框架用 C# 编写。

4

1 回答 1

6

这是正常行为,因为 Windows Vista 网络映射驱动器不可用于以提升权限运行的进程(请参阅在 Windows Vista 或 Windows 7 中打开用户帐户控制后程序可能无法访问某些网络位置 (KB 937624))。知识库文章中的解决方法意味着注册表编辑和计算机重新启动。

有关更多详细信息,另请参阅博客文章在 Windows Vista 上使用 UAC 映射网络驱动器

于 2011-01-17T15:07:37.913 回答