用户帐户控制(UAC)是WindowsVista中的一项功能,其中用户帐户的权限有限。有关UAC的详细信息,请访问以下网站:
WindowsVista用户帐户控制分步指南
最低特权环境中应用程序开发人员的最佳实践和指南
了解和配置WindowsVista中的用户帐户控制
在启用UAC的情况下构建项目
如果在禁用UAC的WindowsVista中生成VisualC++项目,然后启用UAC,则必须删除并重新生成该项目才能正常运行。
需要管理权限的应用程序
默认情况下,VisualC++链接器使用UAC片段内置于应用程序清单中,具有asInvoker执行级别。如果应用程序需要管理权限才能正确运行(例如,修改注册表的HKLM节点或写入磁盘上的受保护区域,例如Windows目录),则必须修改应用程序。
第一个选项是更改清单的UAC片段,以将执行级别更改为requireAdministrator。然后,应用程序将在运行之前询问用户管理凭据。有关如何执行此操作的信息,请参阅/MANIFESTUAC(将UAC信息集成到清单中)。
另一个选项是通过指定/MANIFESTUAC:NO链接器选项,不将UAC片段嵌入到清单中。在这种情况下,应用程序将以虚拟化方式运行。应用程序关闭后,对寄存器或文件系统的任何更改都不会保留。
以下流程图描述了应用程序如何根据是否启用UAC以及应用程序是否具有UAC清单来工作:
上一篇:开启虚拟化对电脑影响
下一篇:uac虚拟化不允许怎么解决