我有一个visual studio设置和部署项目.我在其中添加了一个.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
命令:
... 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)
试试这个,这对我有用.
... using System.Diagnostics; ... ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.UseShellExecute = true; startInfo.Verb = "runas"; startInfo.Arguments = "/env /user:" + "Administrator" + " cmd"; Process.Start(startInfo); ...
Ashutosh说