如何使程序自动以管理员身份运行

时间:2018-07-26 18:25:30

标签: c# admin uac

我目前正在编码WPF项目。该项目是一种任务管理器程序。在项目内部,有一些方法可以获取实时PC数据(温度,频率等)。但是,项目中的某些方法需要管理员权限,以便程序可以从PC访问不同的值/数据。

当前的问题是该程序在每次运行时都要求这些权限。虽然我知道这只是个人喜好,但我想使程序仅询问,使其在安装/首次运行时要求,以便用户没有每次都要授权他们的许可。

请清楚一点,这不是一般如何获得管理员特权的问题。我知道可以选择操作 app.manifest 文件。此问题仅与通过编程方式或通过其他方式(例如,Visual Studio)保持设置的管理员权限有关。

(此外,该程序使用NSIS作为安装程序,如果有帮助的话)

谢谢

编辑:

回想这个问题,这是一个非常愚蠢的问题。这只是由于我的草率/惰性编码。

2 个答案:

答案 0 :(得分:3)

这是不可能的,因为UAC提示的目的是为用户创建意识,以便他们知道他们允许对该软件进行管理员特权。

我真的不建议您跳过提示步骤。

您不能直接执行操作,但可以间接执行操作,如果您可以编写代码来执行以下步骤here,则可以实现所需的功能。

答案 1 :(得分:1)

Windows是安全的操作系统。如果用户不是管理员:那么您就无法控制它。

您的应用程序在Windows XP下会做什么?

  • 它会崩溃吗?
  • 您会拒绝跑步吗?
  • 您会告诉用户他们需要成为管理员吗?

您是否可以使用可以提供给用户有用信息的其他模式?毕竟, Process Explorer 仍然可以运行,并向我提供有关计算机上进程的各种有用信息。

但是如果用户是标准用户,则无法在安装时进行更改。