在启动时以管理员身份运行程序

时间:2011-02-26 14:16:53

标签: c# administrator

我有一个自助服务终端应用,想要在启动时运行它。这里的问题是,当我将Registry值设置为在启动时打开它时,它不会以管理员身份打开程序,因此该程序可能无法正常工作。我正在使用Windows 7.任何人都可以帮助我使用代码以管理员身份运行它吗?某些程序(例如anit-virus和病毒本身)在启动时以管理员身份工作,而不会要求用户接受作为管理员运行,这正是我想要做的。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:5)

要在启动时运行应用程序,您可以:

  1. 将其作为计划任务运行,将凭据设置为以管理员帐户运行,并将其设置为在启动(或登录)时运行。
  2. 创建Windows服务,并将登录身份帐户设置为管理员帐户或本地系统帐户。
  3. 您的防病毒软件示例听起来像#2。

答案 1 :(得分:3)

您可以设置程序,以便只能以管理员身份运行。

Visual Studio

Right click on the Project -> Properties -> Security -> Enable ClickOnce Security Settings

单击它后,将在Project的属性文件夹 app.manifest 下创建一个文件,一旦创建该文件,您可以取消选中Enable ClickOnce Security Settings选项

打开该文件并更改此行:

<requestedExecutionLevel level="asInvoker" uiAccess="false" />

为:

 <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

这将使程序需要管理员权限,并且它将保证您有权访问该文件夹。