有没有办法以系统用户/管理员身份运行可执行文件?

时间:2017-02-03 14:12:45

标签: c# .net

我希望能够利用程序中的devcon工具。但是devcon需要提升UAC。我看到如果我用管理命令提示它运行它可以工作,但任何方式来触发这个?我知道如何要求我的整个程序提升,但我希望普通的非管理员能够使用它。

特别希望使用devcon.exe / rescan,以便普通用户可以检查驱动程序。

1 个答案:

答案 0 :(得分:2)

配置ProcessStartInfo时,请将UseShellExectue设置为true,将Verb设置为runas,以便查看UAC窗口:

ProcessStartInfo process= new ProcessStartInfo(locationOfDevconExe);
   process.UseShellExecute = true;
   process.Verb = "runas";

如果仍然看不到UAC窗口,则会在注册表项ConsentPromptBehaviorUser中定义它以自动拒绝。密钥应位于此路径下:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

因此将值从0(自动拒绝)更改为1(显示提示)。