C ++如果在Windows 8上请求管理权限

时间:2014-04-10 22:54:38

标签: c++ windows windows-8 privileges admin-rights

简单问题:如果在Windows 8上运行应用程序,是否只能要求管理权限?

到目前为止,我看到的唯一方法是调用外部程序来杀死并以管理员权限重新打开它,如果它在Windows 8上。外部程序我的意思是一个vb脚本。例如。 但这种方法确实不安全且有点脏。

我问,因为在Windows 8上有许多小事情,如果没有管理员权限,你就不能做了。就像在程序文件文件夹中写入/删除文件以及访问/操作具有管理权限的其他进程一样。

1 个答案:

答案 0 :(得分:2)

据我所知,没有提升令牌的进程无法升级。它可以使用ShellExecute启动一个新进程,使用" runas"动词(见http://blogs.msdn.com/b/vistacompatteam/archive/2006/09/25/771232.aspx)。当然会显示UAC提示。如果你真的想要检测Windows 8并且只有UAC提示出现在那里,而不是在Windows 7上,你可以在主应用程序上编写一个包装器,在Win8上使用UAC提示启动你的主应用程序。