Если я перечисляю сеансы, используя LsaEnumerateLogonSessions(), чтобы получить список идентификаторов LUID сеанса, затем LsaGetLogonSessionData(), чтобы получить сведения о каждом сеансе (как описано в MSDN), то в Windows XP он ведет себя именно так, как я и ожидал, показывая один вход в систему для меня плюс несколько входов в систему для служб.
Запуск той же программы в Windows 7 показывает два сеанса входа в систему плюс сеансы службы. Два сеанса для меня отображаются как один и тот же пользователь и одно и то же время входа в систему.
Я запускал некоторые процессы с повышенными правами, поэтому я подумал, что это может быть так, но второй сеанс все еще существует, когда я закрываю их и даже после перезагрузки. Так кто-нибудь знает, почему существует второй сеанс для каждого реального пользователя, вошедшего в систему? Как определить, какой из них «настоящий»?
Спасибо
Тим