Основное отличие функций CreateProcessAsUser и CreateProcess заключается в том, что CreateProcessAsUser позволяет запустить процесс от имени другого пользователя, который идентифицируется его маркером безопасности (security token). 15 При этом вызвавший эту функцию поток должен принять меры к правильному использованию реестра, так как профиль нового пользователя не будет загружен. 1
CreateProcess создаёт новый процесс, который будет исполняться от имени текущего пользователя потока, вызвавшего эту функцию. 1
Таким образом, CreateProcessAsUser даёт возможность более прямого и низкого уровня контроля, но требует дополнительных усилий по настройке переменных среды, профилей пользователей и других деталей. 3
Ещё одно отличие заключается в том, что CreateProcessAsUser принимает дополнительный параметр, указывающий клиента, от имени которого должен быть создан процесс. 4