我正在使用急剧程序生成的exe。当我运行exe时,我希望出现一个UAC提示符,其中包含以管理员身份运行exe的选项。我已经看到默认情况下运行exe作为管理员的示例。但是,如何让UAC让我以管理员身份运行exe?有什么想法吗?
答案 0 :(得分:7)
您需要添加“Application Manifest File”。 的一步步骤强>
答案 1 :(得分:6)
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
,以在运行应用程序时请求管理员权限。
答案 2 :(得分:4)
Windows vista / 7 / server 2008 R2使用用户帐户控制(UAC)技术来确保安全,并通过限制应用程序的权限来保护操作系统免受恶意软件的侵害,直到管理员授权为止。这就是我们需要以管理员身份运行应用程序的原因。这通常在运行应用程序时完成。过程是,右键单击应用程序并单击&#34;以管理员身份运行&#34;使用管理权限运行应用程序。如果假设用户忘记这样做并正常运行应用程序,则可能会出现意外行为。因为在win vista及以上版本中需要管理权限的所有操作(例如,调用进程,使用系统驱动器等)都不会被执行。
因此,为了避免每次都以管理员身份运行应用程序,我们可以默认将应用程序作为管理员运行。 为了实现这一点,我们需要对应用程序清单进行一些调整。应用程序清单是描述应用程序的XML文件。
按照以下步骤使.net应用程序以管理员身份运行:
步骤1:转到项目的属性,然后单击&#34;查看Windows设置&#34;按钮。这将打开文件&#34; app.manifest&#34;。
步骤2:在requestedExecutionLevel键中将level的值更改为&#34; requireAdministrator&#34;并且uiAccess的值为&#34; False&#34;。 设置级别为&#34; requireAdministrator&#34;表示应用程序仅为管理员运行,并要求使用管理员的完全访问令牌启动应用程序。 将uiAccess设置为&#34; False&#34;表示应用程序不需要将输入驱动到桌面上另一个窗口的用户界面。不提供辅助功能的应用程序应将此标志设置为false。将输入驱动到桌面上的其他窗口(例如,屏幕键盘)所需的应用程序应将此值设置为true。
步骤3:保存更改,重建应用程序并将其安装在Win Vista或更高版本的框中。
现在,应用程序将以管理员身份自动启动。
答案 3 :(得分:1)
您可以使用ProcessStartInfo class or Windows principal来实现此目标。
您还可以embed a manifest file in your application .exe并设置requestedExecutionLevel
属性。
还有一种方法可以通过windows registry启用/禁用UAC。