UAC即Windows 用户帐户控制级别以及app.manifest清单选项requestedExecutionLevel level=“requireAdministrator“ uiAccess=
最新推荐文章于 2023-06-13 19:09:44 发布
LongtengGensSupreme
最新推荐文章于 2023-06-13 19:09:44 发布
阅读量4.8k
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
UAC即Windows 用户帐户控制级别以及app.manifest清单选项requestedExecutionLevel level=“requireAdministrator“ uiAccess=
UAC即Windows 用户帐户控制级别UAC是专门控制用户帐户访问控制的,简单说UAC就是控制用户可以访问Windows系统中的中的哪些信息,不可以访问哪些信息以及安装时候UAC(用户账户控制)会根据当前系统的用户账户控制级别提示/不提示运行安装信息UAC(用户账户控制)设置有2种方式1、控制面板\用户帐户\用户帐户选择更改用户帐户控制设置2、通过程序处理app.manifest清单选项设置requestedExecutionLevel level 通过程序处理...
微软在
Windows
Vista开始引入了
UAC
(
用户
帐户
控制
)新技术(点击这儿了解什么是
UAC
)。当程序
执行
时需要权限的话,
UAC
会弹出警告消息:让
用户
确认是否同意允许这个程序改变你的计算机配置,
windows
需要得到你的许可才可以让程序继续
执行
下去。
通常我们使用c#编写的程序不会弹出这个提示,也就无法以管理员身分运行。微软的操作系统使用微软的产品方法当然是有的,通过
app
.
manifest
配置可以使程序打开的时候,弹出
UAC
提示需要得到允许才可以继续,这样就获得了管理员的权限来
执行
程序。
方法如下:
打开vs2005、vs2008等工程,在【解决方案资源管理器】里查看是否有
app
.man
但是这样做在重新发布时仍然会被重新勾选,我的解决方案为:
在入口程序下的properties目录中,有
app
.
manifest
,右键使用记事本打开或者notepad++之类的编辑器,
找到
re
qu
ested
Execution
Level
,变更为:
<!--
UAC
清单
选项
如果要更改
Windows
用户
帐户
控制
级别
,请用以下节点
添加后,默认打开
app
.
manifest
文件,将:
<re
qu
ested
Execution
Level
level
="asInvoker"
ui
Access
="false" />
修改
为:
<re
qu
ested
Execution
Level
level
="
require
Administrator
"
ui
Access
="false" />
然后打开 项目属性 ,将 应用程...
Windows
Registry Editor Version 5.00
;gpedit.msc -> 计算机配置 ->
Windows
设置 -> 安全设置 -> 本地策略 -> 安全
选项
;
用户
帐户
控制
:管理员批准模式中管理员的提升权限提示的行为
;0 不提示,直接提升
;5 非
Windows
二进制文件的同意提示: (默认设置)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Windows
\CurrentVersion\Policies\System]
&
qu
ot;ConsentPromptBehaviorAdmin&
qu
ot;=dword:00000000
;
用户
帐户
控制
: 对内置管理员
帐户
使用管理审批模式 1:启用(默认设置) 0:禁用
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Windows
\CurrentVersion\Policies\System]
&
qu
ot;Filter
Administrator
Token&
qu
ot;=dword:00000000
Windows
User Account Control (
UAC
) 是一种安全功能,旨在保护计算机免受未经授权的更改和恶意软件的影响。当需要进行系统级更改时,
UAC
会提示
用户
确认操作或提供管理员权限。
UAC
的目的是在
用户
帐户
下运行应用程序,并在需要进行敏感操作时提升权限。当某个应用程序尝试进行更改时,
Windows
会显示一个弹出窗口,询问
用户
是否同意该操作。
用户
可以选择是或否来授权或拒绝该操作。
通过
UAC
,
用户
可以更好地
控制
他们系统上的操作,并减少恶意软件对系统的影响。它为
用户
提供了额外的安全层,并防止未经授权的更改。
请注意,
UAC
只是
Windows
中的一种安全功能,它并不能完全保护计算机免受所有的威胁。使用好的杀毒软件、保持操作系统和应用程序的更新以及采取其他安全措施同样重要。