C++ 如何为我的应用程序禁用UAC
当我试图以管理员的身份运行我的应用程序时,我得到了以下信息 错误,以及是否允许 如果我是直接运行应用程序,而不是作为管理员,那么这似乎是可行的。我需要做些什么来摆脱UAC,不,我不希望用户手动更改UAC设置 我是否只需要调整我的程序或任何需要签名的证书的注册表设置C++ 如何为我的应用程序禁用UAC,c++,windows-7,windows-vista,uac,C++,Windows 7,Windows Vista,Uac,当我试图以管理员的身份运行我的应用程序时,我得到了以下信息 错误,以及是否允许 如果我是直接运行应用程序,而不是作为管理员,那么这似乎是可行的。我需要做些什么来摆脱UAC,不,我不希望用户手动更改UAC设置 我是否只需要调整我的程序或任何需要签名的证书的注册表设置 您的流程需要提升其权限。CodeProject中有几篇关于这方面的文章,但请先看一篇。一般来说,您不能禁用UAC。UAC的目标是提供针对恶意软件的深度防御。如果Tojan可以禁用UAC,那将适得其反 你能做的就是接受UAC的存在,并接
您的流程需要提升其权限。CodeProject中有几篇关于这方面的文章,但请先看一篇。一般来说,您不能禁用UAC。UAC的目标是提供针对恶意软件的深度防御。如果Tojan可以禁用UAC,那将适得其反
你能做的就是接受UAC的存在,并接受它。您通常不应该以管理员的身份运行,因此在运行时可以获得UAC对话框。例如,自动启动可以按用户设置进行处理,这意味着您无需成为管理员即可进行更改。将应用程序配置为始终运行:
作为计算机上的一种解决方法,您可以创建一个启动应用程序的计划任务,并在“常规设置”中勾选“以最高权限运行”。然后创建一个指向调度任务的链接,链接文本为
schtasks/run/tn“TASKNAMEINQUOTES”
。这将调用在没有UAC提示的情况下以elvated权限运行应用程序的任务。
这里有更多信息:我有一个程序(Notepad2)突然要求在win-7系统上拥有管理员权限。看来这很容易改变
右键单击应用程序,选择属性,转到兼容性选项卡,底部为
特权级别:以管理员身份运行此程序
松开它,确定你的出路。为我工作。在
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
有这样的项目,如
同意PromptBehaviorAdmin
。更改它。@Subhen这与您之前的问题有关:@David Heffernan,之前的问题是关于“如何在我不是以管理员身份运行文件时创建文件”。在这里,我想知道当我作为管理员运行应用程序时如何避免UAC。如果用户使用UAC运行,那么如果您的应用程序在其清单中标记为需要管理员权限,那么系统将显示提升对话框。一个更好的解决方案是避免以管理员身份运行。这就是你要做的,也是所有关于UAC的文档建议你做的。你的应用程序有什么需要管理员权限的地方?@David Heffernan,有时我需要向注册表写入一些信息,或者如果我想通过注册表项向msconfig(用于自动启动)添加和删除条目,这需要管理员previlage@Subhen官方推荐的方法是,仅当用户准备执行需要管理员权限的操作时才请求提升。对自动启动的更改通常在软件安装期间进行,软件安装通常具有管理员权限。但是,如果您想要管理员权限和用户启用的UAC,那么您无法避免该对话框。有很多关于这个主题的文章可以追溯到Vista时代。他的过程甚至还没有开始@比利:我同意。在这种情况下,我的回答没有多大帮助。+1表示随大流,这是对情况的简洁表达