访问被拒绝后,c++中的故障保护代码

Fail-safe code in c++ after access is denied

本文关键字:故障 保护 代码 c++ 拒绝 访问      更新时间:2023-10-16

我对编程很陌生。我想用C++运行一个程序,它将在windows中提示用户管理权限。如果没有授予权限,有没有办法运行另一组代码??

system("setup.exe");//这将提示用户获得管理权限。如果权限被拒绝,那么我想执行一些其他代码,例如printif("下次授予管理权限"(;

对于已经在执行的进程,这是不可能做到的。您只能再启动一个进程(即使这是同一个应用程序(。另一种方法是添加适当的应用程序清单,这将迫使运行时系统从一开始就向用户请求UAC提升确认。

关于第一种方法,请参阅:CreateProcessAsUser函数(Windows(。

关于第二种(清单(方法,请参阅,例如,答案:C++--如何在Visual Studio 2005中使用清单文件以管理员权限运行应用程序?。

请注意,未经用户明确同意,不可能提升权限。如果可能的话,这将违背UAC的宗旨。请参阅:用户帐户控制——维基百科,免费百科全书。

正如我所说,我对编程非常陌生。所以你尝试了不同的代码,却不知道它们到底应该做什么。所以最后一个简单的代码服务于我的目的,尽管我不知道那里到底发生了什么。代码是

if(system("setup.exe"(({printf("Give administrative permission next time"(;}