2014-11-05 10 views
-1

在我的应用程序中,我需要包括映射网络驱动器在内的所有逻辑驱动器。它的工作正常,没有作为管理员运行但我的应用程序默认情况下以管理员身份运行,我无法映射网络驱动器。我知道它为什么发生。我是否可以在以管理员身份运行的应用程序中以当前用户权限执行单个方法?

我正在使用DriveInfo.GetDrives()收集驱动器。

我的问题是, 我是否可以在以管理员身份运行的应用程序中执行单个方法(收集所有映射的驱动器)作为当前用户权限?

或者任何其他收集所有网络驱动器的方法。

在此先感谢。

+0

你将如何知道哪些用户执行方法?不同的用户可能有不同的映射驱动器如果应用程序在没有管理员权限的情况下运行良好,那么您应该以这种方式运行它。以管理员身份运行应该不鼓励。 – 2014-11-05 19:08:20

+0

嘿chris,在这个wpf应用程序中,任何用户都可以使用这个页面,所以我们必须通过当前登录用户 – 2014-11-05 19:35:06

回答

0

您可以创建另一个没有管理员权限的应用程序,然后从主程序运行它。

Process.Start("myNormalApp.exe"); 

在“myNormalApp.exe”中放置驱动器映射代码。然后,您可以将映射驱动器写入文件并在主应用程序中打开该文件。这有点复杂,但我认为这是唯一的方法。但让我说,但我无法想象为什么你说高架应用程序无法访问网络驱动器(看起来有点奇怪)

该代码未经测试,但它应该工作。

希望这有助于

FWhite

+0

来显示映射驱动器,谢谢PWhite,但它应该不是一个正确的方法。我正在寻找来自同一应用程序的映射用户驱动器。 – 2014-11-05 19:36:28

相关问题