CreateDesktop() with Vista UAC (C Windows)

邮差的信 提交于 2019-12-05 20:08:54

Interesting problem... I wouldn't expect a difference bewteen the UAC/non-UAC scenario unless the launched program required administrator privilege (and I doubt that either notepad or calc does). Anyway, have you tried setting the thread's desktop before calling CreateProcess()?

HDESK hOld = GetThreadDesktop( GetCurrentThreadId() );
HDESK hNew = OpenDesktop( "name", 0, FALSE, GENERIC_ALL );
SetThreadDesktop( hNew );
CreateProcess( ... );
SetThreadDesktop( hOld );
CloseDesktop( hNew );
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!