如何以管理员权限启动应用程序
Posted
技术标签:
【中文标题】如何以管理员权限启动应用程序【英文标题】:How to launch an application with admin rights 【发布时间】:2010-01-22 01:19:57 【问题描述】:我想启动一个具有管理员权限的应用程序。如果它以受限用户运行,则会出现一个弹出窗口(与“运行方式”上下文菜单相同),以便用户输入管理员帐户(用户和密码),并将我的应用程序权限切换给该用户。因为我的应用程序需要权限才能运行。
我想在 XP 和 Vista 中实现这个功能。
谢谢。
【问题讨论】:
【参考方案1】:这可以通过 Impersonator 类解决:
http://www.codeproject.com/KB/cs/zetaimpersonator.aspx
或者这个 ImpersonateUser 函数:
http://www.codeproject.com/KB/cs/cpimpersonation1.aspx
其他一些选项是执行RunAs /user:administrator "program"
或将其添加到您原始应用的 .manifest 文件中(因此在开始时请求一次权限)
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" />
</requestedPrivileges>
【讨论】:
实际上是 Windows XP 添加了对应用程序清单的支持。虽然仅 Windows Vista 及更高版本支持 requestedPrivelages 节点,但确实如此。以上是关于如何以管理员权限启动应用程序的主要内容,如果未能解决你的问题,请参考以下文章