【问题标题】:How to run any exe with administrator privileges?如何以管理员权限运行任何 exe?
【发布时间】:2026-02-04 11:20:15
【问题描述】:

我正在使用 ma​​kecert 来创建我需要的证书,虽然 c# 程序该命令不会执行,因为它需要管理员权限。

请建议我如何在 Windows 7 中运行使用管理员权限的任何 exe? 如果可能的话,建议我提供示例代码。

有吗?对我来说真的很重要吗?

【问题讨论】:

  • 你渴望用提升的权限做什么?
  • @BoltClock 我认为特权对我来说很重要,因为我需要管理员权限才能访问 exe 。删除权限
  • 为什么这被否决了甚至两次?

标签: c# .net permissions exe windows-applications


【解决方案1】:

您可以使用 RunAs: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/runas.mspx?mfr=true 并选择具有所需权限的帐户。

【讨论】:

  • +1 为runas,而不是跌倒如何编程走出这个洞。
  • @morten 我使用 runas 尝试过,但问题是如果我保持 process.useshellexecute=false 比它不以管理员身份运行,但如果我保持它为真,它运行良好但不能发出命令它。它在这里陷入僵局!
  • 死锁没有意义。你能解释一下吗
【解决方案2】:

启动进程时使用runas动词:

ProcessStartInfo info = new ProcessStartInfo(path) { Verb = "runas" };
Process p = Process.Start(info);

这假定您以管理员组中的用户身份运行。在这种情况下,进程启动时将显示 UAC 对话框。

【讨论】:

    【解决方案3】:

    更改 C# 应用程序的清单,使其需要管理员权限。 UAC 应该完成其余的工作来提示用户并提升流程。

    【讨论】:

      【解决方案4】:

      另一个提示是使用代码中的 UAC(用户帐户控制)。非常有趣的来源恕我直言是这个http://victorhurdugaci.com/using-uac-with-c-part-1/

      【讨论】:

        最近更新 更多