CreateProcessAsUser生成错误5

时间:2015-09-17 19:39:15

标签: c++ windows winapi

我尝试混合使用代码herehere来运行来自通过QtService初始化的服务的GUI exe,但每当我运行代码时,我都会收到错误5 CreateProcessAsUser。

另外,我看到了类似问题here on StackOverflow的答案,但无法弄清楚DACL与问题的关系,并且无法使用Harry Johnson的答案,因为我不会#39;来自用户的登录信息。

那么,有人可以帮助我理解为什么我从下面的代码中收到错误5(Acess Denied)?

package.scala

-

if(initUiWin())
    log->write("InitUiWin executed.");
else {
    QString errorNumber = QString::number(GetLastError());
    log->write("InitUiWin error: " + errorNumber);
}

1 个答案:

答案 0 :(得分:1)

将其放在此处以提高知名度。 HarryJohnston在评论中回答道。问题是OpenProcessToken中的标志,我刚刚更改了

OpenProcessToken(hProcess,TOKEN_READ,&hToken)

OpenProcessToken(hProcess,TOKEN_READ|TOKEN_QUERY|TOKEN_DUPLICATE|TOKEN_ASSIGN_PRIMARY,&hToken)