深入解析UAC用户账户控制:功能、设置与应用清单选项

时间:2024-12-03作者:admin分类:C++教程浏览:43评论:0

UAC代表Windows用户帐户控制级别

深入解析UAC用户账户控制:功能、设置与应用清单选项

UAC专门控制用户帐户的访问控制。简单来说,UAC控制着用户在Windows系统中可以访问哪些信息以及不能访问哪些信息。安装时,UAC(用户帐户控制)将基于当前系统的用户帐户控制级别。提示/不提示运行安装信息

有两种方法设置UAC(用户帐户控制)

1. 控制面板\用户帐户\用户帐户选择更改用户帐户控制设置

2.通过程序处理app.manifest列表选项设置requestedExecutionLevel级别

通过以编程方式处理 app.manifest 清单选项来设置 requestExecutionLevel 级别,

有两种方法创建 app.manifest 清单选项文件

1. 右键单击​​项目,单击“添加文件”,找到程序清单文件并创建 app.manifest 清单文件。

2、可以右键项目,选择属性安全,勾选启用ClickOnce安全设置(N)自动生成app.manifest清单文件,然后取消勾选启用ClickOnce安全设置(N)

通过以上两种方法创建app.manifest清单文件后,需要进行如下设置:

1、如果希望程序运行时具有管理员权限,需要设置requestedExecutionLevel level="requireAdministrator" uiAccess="false"。设置后可以操作需要特殊权限的文件,如:C:\program files、C:\program files x86、C:\Windows\system32、注册表读写等。

2.在requestedExecutionLevel中设置级别可以设置需要的权限功能,并且可以使用uiAccess做一些其他的处理,比如读写需要特殊权限的文件。

可以设置requestedExecutionLevel level="requireAdministrator" uiAccess="false",uiAccess也可以设置程序窗体的顶部,

这里的程序top可以设置为比系统界面还高的top,也就是说可以高于一些系统级别的top,比如任务管理器,绝对是top

效果如下:

创建一个新的winform表单项目。添加app.manifest清单文件后,需要设置requestedExecutionLevel level="asInvoker" uiAccess="true"。

在 App.Manifest 文件中设置 requestExecutionLevel level="asInvoker" uiAccess="true"

 

设置表单的2个属性

 

注:您可能遇到的问题

解决办法是“以管理员权限启动该程序”。

启动效果如下:

原文参考链接:

你可能想看: