Во всех найденных примерах, начиная с родного от MS, предлагается применять GetTokenInformation к маркеру, полученному от OpenProcessToken. Таким образом можно получить пользователя, от имени которого создан процесс, но не пользователя, которому принадлежит текущий
сеанс. То есть, в простейшем случае, для процессов, созданных "as administrator", это не работает.
Попробовал применить GetUserObjectInformation к результатам GetProcessWindowStation и OpenInputDesktop — в обоих случаях возвращается какой-то бред, отдаленно похожий на well-known SID:
S-
1-5-5-0-607555
Какие еще есть способы? Желательно, чтоб работало под XP, но можно и начиная с Win7.