Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[winapi] Jak sprawdzić, czy ktoś jest zalogowany do systemu

Ostatnio zmodyfikowano 2015-08-02 12:00
Autor Wiadomość
qrchack
Temat założony przez niniejszego użytkownika
[winapi] Jak sprawdzić, czy ktoś jest zalogowany do systemu
» 2015-08-02 00:42:05
Jak w temacie:
Jak sprawdzić, czy ktokolwiek korzysta z komputera, w sensie, jest zalogowany ma pulpit ikonki i uruchomione programy?

Dotarłem do funkcji LsaEnumerateLogonSessions, niestety ma ona wadę - listuje również zamknięte już sesje (czyli jeżeli user1 się zaloguje i wyloguje, po nim user2, a po nich user3, to na liście pojawią się wszystkie 3 sesje), a ze struktury zwracanej przez LsaGetLogonSessionData nie potrafię wywnioskować, czy sesja jest "aktywna".

Czy ktoś z was mierzył się z tym problemem?
P-135594
DejaVu
» 2015-08-02 10:25:35
https://msdn.microsoft.com/en-us/library/windows/desktop/aa378290%28v=vs.85%29.aspx
P-135597
qrchack
Temat założony przez niniejszego użytkownika
» 2015-08-02 11:15:44
Eh...
Noż przecież napisałem, że ze struktury zwracanej przez LsaGetLogonSessionData nie potrafię wywnioskować czy sesja jest aktywna czy nie.

Jeśli SecurityLogonType = 2 to wiem, że sesja jest sesją z pulpitem. OK. Nadal jednak nie wiem, jak rozróżnić "martwe" sesje (czyli już wylogowane) od żywej.
P-135600
DejaVu
» 2015-08-02 11:24:11
moze tu cos jest napisane:
http://www.codeproject.com/Articles/18179/Using-the-Local-Security-Authority-to-Enumerate-Us
P-135601
Elaine
» 2015-08-02 12:00:27
Pobierz listę procesów, dla każdego procesu otwórz jego token zabezpieczeń, z tego tokenu wyciągnij (hint: TokenStatistics) LUID sesji. Co zrobić z otrzymanymi w ten sposób LUIDami, to już chyba można się domyślić.
P-135604
« 1 »
  Strona 1 z 1