C++ 模拟和创建过程
文档状态CreateProcess创建在调用进程的安全上下文(而不是当前模拟令牌的安全上下文)下运行的进程。这是否意味着无论是否模拟,新进程的权限都是相同的 我有以下代码失败,出现访问被拒绝错误:C++ 模拟和创建过程,c++,windows,security,process,acl,C++,Windows,Security,Process,Acl,文档状态CreateProcess创建在调用进程的安全上下文(而不是当前模拟令牌的安全上下文)下运行的进程。这是否意味着无论是否模拟,新进程的权限都是相同的 我有以下代码失败,出现访问被拒绝错误: 进程A在管理员下运行 进程A模拟正常用户“测试” 流程A通过调用CreateProcess启动新流程B 进程B调用OpenProcessToken(GetCurrentProcess(),TOKEN_QUERY,…) 步骤4失败,出现访问被拒绝错误(5)。我检查了进程B是否在Administrator
步骤4失败,出现访问被拒绝错误(5)。我检查了进程B是否在Administrator下作为进程A运行。为什么它在与进程A相同的用户上下文下运行时会失败?正如评论员所说,您需要CreateProcessAsUser。您可能会发现MSDN上的以下示例代码很有帮助,几年前我成功地使用了它:我猜您确实需要使用CreateProcessAsUser()。@Hans听起来Ranta希望新进程使用调用进程的令牌,而不是模拟令牌。如果直接启动进程B会发生什么?