我尝试混合使用代码here和here来运行来自通过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);
}
答案 0 :(得分:1)
将其放在此处以提高知名度。 HarryJohnston在评论中回答道。问题是OpenProcessToken中的标志,我刚刚更改了
OpenProcessToken(hProcess,TOKEN_READ,&hToken)
到
OpenProcessToken(hProcess,TOKEN_READ|TOKEN_QUERY|TOKEN_DUPLICATE|TOKEN_ASSIGN_PRIMARY,&hToken)