C++ 如何将通过CreateProcessWithLogon创建的流程分配到由我的流程创建的作业对象?

C++ 如何将通过CreateProcessWithLogon创建的流程分配到由我的流程创建的作业对象?,c++,winapi,C++,Winapi,我正在Windows平台下使用沙盒项目Spawner() 我遇到了一个问题:如何将使用CreateWithLogonW函数创建的进程分配给由我的进程创建的作业对象 我尝试创建自定义安全描述符,允许所有人执行所有操作,并在CreateJobObject中使用它,但什么也没发生。结果仍然相同: Access denied. 我能做到吗?或者没有这样的解决方案?可能重复的,不幸的是,它不能为我提供有效的解决方案。我已经为用户提供了所需的权限,并尝试了CreateProcessAsUser,但仍然在A

我正在Windows平台下使用沙盒项目Spawner()

我遇到了一个问题:如何将使用CreateWithLogonW函数创建的进程分配给由我的进程创建的作业对象

我尝试创建自定义安全描述符,允许所有人执行所有操作,并在CreateJobObject中使用它,但什么也没发生。结果仍然相同:

Access denied.

我能做到吗?或者没有这样的解决方案?

可能重复的,不幸的是,它不能为我提供有效的解决方案。我已经为用户提供了所需的权限,并尝试了CreateProcessAsUser,但仍然在AssignProcessToJobObject中获得了“拒绝访问”权限。据我记忆所及,它应该可以与CreateProcessAsUser一起使用。你能发布一个MCVE吗?我写了一个单独的程序。。。它确实有用!但有一个奇怪的bug:当我在VS(2013,社区)中运行它时,它工作得很好。当我从命令行运行它时,它仍然在AssignProcessToJobObject中给我“拒绝访问”。代码。我的帐号有seu-INCREASE\u-QUOTA\u-NAME和seu-ASSIGNPRIMARYTOKEN\u-NAME权限,刚才我做了一个实验:在最后一个if语句上创建断点,手动杀掉子进程,继续执行。我得到错误代码5:访问被拒绝。可能是,问题是进程并没有捕获到初始化?我在进程创建后添加睡眠,从cmd运行,仍然得到错误5。