如何在Windows XP上运行另一个应用程序作为管理员
-
12-10-2019 - |
题
我按照所述使用了应用清单文件 这里 要有一部分我的应用程序运行,具有提高特权(需要)。
因此,在需要时,主程序只需使用流程调用一个小型组件。开始处理需要管理权的任务。
但是,如何在Windows XP上做同样的事情?
XP似乎只是忽略了这份清单,并在当前用户上下文中运行小汇编。
解决方案
以下来自 这里 做我需要的事情:
ProcessStartInfo processStartInfo = new ProcessStartInfo("path", "args");
processStartInfo.Verb = "runas";
using (Process process = new Process())
{
process.StartInfo = processStartInfo;
process.Start();
process.WaitForExit();
}
因此,实际上,您需要在processstartinfo.verb上设置“ runas”。随着附件的清单,该代码现在在Windows XP,Vista和7上正常工作。
更新:
也可以看看 这个问题的答案. 。这基本上是相同的代码,也只需使用参数即可。
其他提示
您可以使用 runas
命令。
Windows XP没有UAC。
你需要打电话 Process.Start
具有具有管理特权的用户的登录凭据。
不隶属于 StackOverflow