C急EXE应打开时要求“以pipe理员身份运行”提示

我有一个由ac尖锐程序生成的exe。 当我运行该exe文件,我想要一个UAC提示出现一个选项以pipe理员身份运行该exe文件。 我已经看到默认情况下作为pipe理员运行一个exe的例子。 但是,如何启用UAC来请求我以pipe理员身份运行exe文件? 任何想法?

Windows vista / 7 / server 2008 R2使用用户帐户控制(UAC)技术实现安全,并通过限制应用程序的权限,直到管理员授权,保护操作系统免受恶意软件的侵害。 这就是为什么我们需要让我们的应用程序以管理员身份运行的原因。 这通常在运行应用程序时完成。 这个过程是,右键单击应用程序,然后单击“以管理员身份运行”以使用管理权限运行应用程序。 如果用户忘记这样做并正常运行应用程序,则可能会出现意外的行为。 因为在win vista及更高版本中需要管理权限的所有操作(例如调用进程,使用系统驱动器等)都不会执行。

因此,为了避免每次都以管理员身份运行应用程序,我们可以使我们的应用程序以管理员身份运行。 为了实现这一点,我们需要调整一下应用程序清单。 应用程序清单是描述应用程序的XML文件。

按照以下步骤使您的.net应用程序以管理员身份运行:

第1步:转到项目的属性,然后单击“查看Windows设置”按钮。 这将打开文件“app.manifest”。

步骤2:在requestedExecutionLevel键中将level的值更改为“requireAdministrator”,将uiAccess的值更改为“False”。 将设置级别设置为“requireAdministrator”意味着应用程序仅对管理员运行,并要求应用程序以管理员的完全访问令牌启动。 将uiAccess设置为“False”意味着应用程序不需要将输入驱动到桌面上的另一个窗口的用户界面。 不提供可访问性的应用程序应将此标志设置为false。 将输入驱动到桌面上的其他窗口(例如,屏幕上的键盘)所需的应用程序应将此值设置为true。

步骤3:保存更改,重建您的应用程序并将其安装在Win Vista或更高版本的机器上。

现在,应用程序将以管理员身份自动启动。

在Visual Studio中添加一个“应用程序清单文件”(如果没有),然后在其中添加<requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> ,以在运行应用程序时请求管理员权限。

您需要添加“应用程序清单文件”。 一步步

  • 右键单击您的项目
  • 添加“新项目”
  • 选择“应用程序清单文件”
  • 找到这个
  • 更改级别=“requireAdministrator”

您可以使用ProcessStartInfo类或Windows主体来实现此目的。

您也可以在应用程序的.exe中嵌入一个清单文件,并设置requestedExecutionLevel属性。

还有一种方法来启用/禁用通过Windows注册表的 UAC。