Мне пришлось вникнуть в это, потому что код, который отлично работал в Windows 2003 / XP, не работает в Windows 7. Приложение, запущенное с помощью CreateProcessAsUser, завершается ошибкой с кодом ошибки 0xc0000142. Разница между моим старым кодом и кодом, доступным из MSDN на Запуск интерактивного клиентского процесса на C ++ , заключается в том, что я не настраивал привилегии и для Window Station и для рабочего стола. Я обновил свой код в соответствии с примером, но мне очень хотелось бы понять, какие изменения в более новых Windows сделали выполнение процессов на интерактивной оконной станции требованием?