我有一个视觉工作室设置和部署项目。我在其中添加了一个 .cmd 脚本。该脚本需要管理员权限才能运行。当用户单击 setup.exe 时,UAC 会提示用户授予管理员权限。因此,我假设在 setup.exe 中创建和调用的所有进程都将以管理员身份运行。因此,我进行了设置调用我的控制台应用程序,其中包含以下代码。
ProcessStartInfo p1 = new ProcessStartInfo();
p1.UseShellExecute = true;
p1.Verb = "runas";
p1.FileName = "cmd.exe";
Process.Start(p1);
所以它应该可以工作,因为它是在管理员空间下运行的。
我想以管理员身份通过 C# 进程类运行 cmd.exe。我正在运行 Windows Vista。
我试过
没用!我能做些什么?
尝试执行runas
command:
...
using System.Diagnostics;
...
string UserName = "user name goes here";
ProcessStartInfo p1 = new ProcessStartInfo();
p1.FileName = "runas";
p1.Arguments = String.Format("/env /u:{0} cmd", UserName);
Process.Start(p1);
...
(而且我认为您不需要显式的 UseShellExecute)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)