启动新进程时绕过高程

Har*_*ton 4 windows uac windows-7

好的,这是我的问题:我正在尝试启动第三方应用程序.该应用程序显然被配置为需要提升,可能是通过嵌入式清单.我的程序在非管理用户的上下文中运行,我希望第三方应用程序在相同的上下文中运行.

当我调用CreateProcess时,它返回错误代码740,"请求的操作需要提升."

我已经尝试了CREATE_PRESERVE_CODE_AUTHZ_LEVEL标志,这听起来很相关,但没有任何区别.

第三方应用程序在没有管理员权限的情况下工作,例如,如果我禁用UAC然后以非管理员身份运行它.

提前感谢您提供的任何提示/想法.

Nor*_*elm 9

将进程的环境变量__compat_layer设置为RunAsInvoker.如果设置了此环境变量,CreateProcess将成功.

您可以使用SetEnvironmentVariable函数来实现此目的.