CreateProcessAsUser fails with ERROR_ELEVATION_REQUIRED for a process with UIAccess=“true”

大憨熊 提交于 2019-12-03 16:23:52

I found the answer. Here it is for whoever runs into it as well:

Add this after DuplicateTokenEx call:

HANDLE hToken2;
DuplicateTokenEx(hToken, MAXIMUM_ALLOWED, NULL, SecurityIdentification, TokenPrimary, &hToken2);

//ONLY if requiring UIAccess!
DWORD dwUIAccess = 1;
::SetTokenInformation(hToken2, TokenUIAccess, &dwUIAccess, sizeof(dwUIAccess));
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!