Кто прилогинен на тачке локально?

From
Maxim E. Kuleshov ()
To
All ()
Date
2001-12-15T15:58:49Z
Area
SU.WINDOWS.NT.PROG
From: "Maxim E. Kuleshov" <vsug1006@student.vsu.ru>

Hello,

У меня возникла такая проблема. Нужно узнать имя пользователя прилогиненого
на рабочей станции локально. GetUserName() не подойдет, так как выяснить имя
юзера нужно процессу работающему как сервис под SYSTEM (или другим именем,
это не важно). Пока у меня есть два варианта:
1.  Прочитать из HKEY_USERS sid, а потом LookupAccountName.
2.  Найти процесс explorer.exe, и посмотреть его владельца.

Оба метода немного кривоваты, да и не надежны. Так, например, иногда в
HKEY_USERS появляется несколько разных SID, хотя прилогинен только один
пользователь.
А как узнать владельца процесса я еще и не знаю. Но, наверное, можно.

Что посоветуете?

Maxim E. Kuleshov
[CS-SA Team]






--- ifmail v.2.15dev5
 * Origin: Computer Science Department at VSU (2:5020/400)