UAC即Windows 用户帐户控制级别以及app.manifest清单选项requestedExecutionLevel level=“requireAdministrator“ uiAccess=

最新推荐文章于 2023-06-13 19:09:44 发布
最新推荐文章于 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 中的一种安全功能,它并不能完全保护计算机免受所有的威胁。使用好的杀毒软件、保持操作系统和应用程序的更新以及采取其他安全措施同样重要。