Здравствуйте, slay93, Вы писали:
S>...если процесс был создан с помощью CreateProcessAsUser или CreateProcessWithLogon?
S>Другими словами, можно ли определить из-под кого был запущен некоторый процесс?
S>Как один из вариантов, пробовать читать из окружения нужного процесса значение переменной USERNAME.
Подход не верен так как о данных которые попадут в окружение заботся приложение, вызывающие эти функции, со всеми вытекающими последствиями (ну поставили NULL например при вызове для lpEnvironment

).
S>Может быть известен более правильный/изящный путь?
[skip]
Более правильный путь узнать Token и получить по нему информацию ZwQueryInformationToken или GetTokenInformation.