深入解析UAC用户账户控制:功能、设置与应用清单选项
UAC代表Windows用户帐户控制级别

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个属性
注:您可能遇到的问题
解决办法是“以管理员权限启动该程序”。
启动效果如下:
原文参考链接: