在Windows上执行程序时,您可以请求获得管理员访问权限,我相信,该程序完成的所有操作都是由管理员运行的。 (如果我在这里错了,请纠正我。)
现在,让我们说我有程序A,B和C.程序A启动并获得管理员权限。然后调用B调用C,然后C执行需要管理员权限的操作。我的问题是,C是否具有管理员权限并使用它们来执行该任务?如果它没有给予管理员权限的程序(在这种情况下为程序A),则能够将其管理员权限传递给它所调用的权限。
感谢。
答案 0 :(得分:2)
对CreateProcess
的正常调用将使用与父进程相同的令牌(用户帐户及其组和权限)创建新的子进程,如果子进程也将使用此令牌。使用CreateProcess
。
可能启动新流程的其他方法(ShellExecute
)最终可能会重用现有流程(DDE等)或使用间接方法启动新流程( COM激活)。