c sharp exe应该请求“;以管理员身份运行”;打开时提示
本文关键字:运行 身份 提示 管理员 exe sharp 请求 | 更新日期: 2023-09-27 18:19:49
我有一个由c sharp程序生成的exe。当我运行exe时,我希望出现一个UAC提示,其中包含以管理员身份运行exe的选项。我看到过默认情况下以管理员身份运行exe的例子。但是,我如何让UAC要求我以管理员身份运行exe?知道吗?
您需要添加"应用程序清单文件"。逐步
- 右键单击您的项目
- 添加"新项目"
- 选择"应用程序清单文件"
- 找到这个
- change level="requireAdministrator"
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或更高版本上。
现在,应用程序将以管理员身份自动启动。
在visualstudio中,添加一个"应用程序清单文件"(如果没有),然后在其中添加<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
,以在运行应用程序时请求管理员权限。
您可以使用ProcessStartInfo类或Windows主体来实现这一点。
您还可以在application.exe中嵌入清单文件并设置requestedExecutionLevel
属性。
还有一种方法可以通过windows注册表启用/禁用UAC。
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
我用过这处房产!