【发布时间】:2011-09-19 02:44:02
【问题描述】:
是否可以让在 Windows 中运行的 C++ 应用程序在运行时向操作系统请求管理员权限?
我知道它可以在编译时完成,但似乎无法在任何地方找到它是否可以在运行时完成。
感谢您的帮助!
编辑:如果我希望当前实例具有提升的权限怎么办?例如,我可能有一些数据存储在我想保留的内存中。
【问题讨论】:
-
您可以使用
runas动词启动另一个进程。 -
根据编辑:看起来您需要序列化程序状态,以便您可以将其读回新进程。
-
另一种选择——让应用程序在特殊模式下可启动,它只是作为执行需要提升权限的任务的一种手段,使用 IPC 来传递数据——这将有一个很好的好处重新启动应用程序(保留 UI 上下文)——UAC 窗口将显示相同的应用程序名称(给人一种特权在运行时升级的完整错觉:))
-
编译时怎么做?