以较低的信任级别启动Windows Qt子进程

时间:2018-08-15 20:00:34

标签: c++ windows qt uac

我有一个正在为Windows编译的Qt 5.11应用程序,其中包括一个应用程序清单,该清单指示Windows以管理员权限运行该应用程序。

...
<requestedPrivileges>
  <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
...

此运行级别对于程序的正常运行是必需的,因为它主要是用于管理其他程序(即Program Files目录)的安装的实用程序。

但是,我正在从此应用程序中启动分离过程。我想以普通用户级别的应用程序启动该应用程序,而不要具有管理员权限(出于几个原因,其中包括子应用程序不能很好地以管理员权限运行)。

我尝试过的一些事情:

  • 以用户级别运行主应用程序。
    • 以用户级别执行某些流程不是问题
    • 其他进程需要以管理员级别执行。尝试打开需要这些高级权限的应用程序只会导致QProcess:startDetached()失败。
  • 以管理员级别运行主应用程序
    • 我要尝试以用户级别执行某些流程
    • 以管理员身份运行其他进程不是问题。

相关问题(无答案): QT Start program as regular user

0 个答案:

没有答案