UAC即Windows 用户帐户控制级别以及app.manifest清单选项requestedExecutionLevel level="requireAdministrator" uiAccess="true"说明
UAC即Windows 用户帐户控制级别
UAC是专门控制用户帐户访问控制的,简单说UAC就是控制用户可以访问Windows系统中的中的哪些信息,不可以访问哪些信息以及安装时候UAC(用户账户控制)会根据当前系统的用户账户控制级别提示/不提示运行安装信息
UAC(用户账户控制)设置有2种方式
1、控制面板\用户帐户\用户帐户 选择 更改用户帐户控制设置
2、通过程序处理app.manifest清单选项设置requestedExecutionLevel level
通过程序处理app.manifest清单选项设置requestedExecutionLevel level,
app.manifest清单选项文件创建有2种方式
1、项目右键,点击添加文件,找到程序清单文件 创建app.manifest清单文件
2、可以通过 项目右键 选择 属性 安全性 勾选 启用ClickOnce 安全设置(N) 自动生成一个app.manifest清单文件,然后取消勾选 启用ClickOnce 安全设置(N)
上述2种方式创建app.manifest清单文件之后需要设置,如下:
1、如果事想在程序运行的时候拥有管理员权限的话,需要设置requestedExecutionLevel level="requireAdministrator" uiAccess="false",设置以后就可以操作一写需要特殊权限的文件了,如:C:\program files ,C:\program files x86 ,C:\Windows\system32,注册表读写等等
2、设置requestedExecutionLevel中的level可以设置需要的权限功能,而uiAccess可以用来做一些其他处理,例如 需要特殊权限的文件的读写,
可以设置requestedExecutionLevel level="requireAdministrator" uiAccess="false",uiAccess也可以设置程序窗体的置顶,
这里的程序置顶可以设置比系统界面更高的置顶,也就是说可以比一些系统级别的置顶还要高,如任务管理器一样绝对置顶
效果如下:
新建winform窗体项目,添加app.manifest清单文件之后需要设置 requestedExecutionLevel level="asInvoker" uiAccess="true",
App.Manifest 文件中设置 requestedExecutionLevel level="asInvoker" uiAccess="true"
设置窗体的2个属性
注意:可能遇到的问题
解决方法是“以管理员权限启动此程序”。
启动效果如下:
原文参考链接:http://blog.walterlv.com/post/run-desktop-application-above-windows-application.html