提升的应用程序需要获取非提升的映射驱动器列表

flo*_*dob 5 c# uac elevated-privileges

我知道以提升权限运行的.NET应用程序无法看到用户的映射驱动器。我也知道有一个注册表黑客可以解决此问题(涉及重新启动)。

我想为这个问题创建一个不同的解决方案。我们的应用程序必须提升运行,并且在很大程度上依赖于用户创建的映射驱动器。我想检测用户拥有的映射驱动器,并从提升的应用程序中映射一个类似的驱动器。

所以问题是:如何从提升的应用程序中检测“正常”用户的映射驱动器?

Hel*_*ein 2

如果映射的驱动器被持久映射(启用“登录时重新连接”复选框),那么您可以在用户的​​注册表配置单元中找到它:

HKEY_CURRENT_USER\Network\<drive letter>
Run Code Online (Sandbox Code Playgroud)

该键的值RemotePath包含 UNC 路径。