Piszę aplikację usługi systemu Windows, która nasłuchuje połączeń i wykonuje określone zadania zgodnie z instrukcją z innej aplikacji uruchomionej na innym komputerze w sieci.Sprawdź, czy żaden użytkownik nie jest aktualnie zalogowany do systemu Windows
Jedno z zadań zapewnia, że żaden użytkownik nie jest aktualnie zalogowany, blokuje stację roboczą, usuwa niektóre pliki, a następnie ponownie uruchamia system. Rozważałem użycie this solution do przejrzenia listy uruchomionych procesów i sprawdzenia nazw użytkowników, ustalenie, czy żaden użytkownik nie jest zalogowany przez dopasowywanie nazw użytkowników do SYSTEMU, SIECI itp. Zdałem sobie sprawę, że mam działające PostgreSQL, które używa konta użytkownika o nazwie postgres więc to by nie działało. Sprawdzanie, czy działa program explorer.exe, również nie działa, ponieważ program explorer czasem się zawiesza lub czasami kończę proces i ponownie go uruchamiam.
Jaki byłby dobry sposób określenia, że NO użytkownik jest zalogowany na stacji roboczej przy użyciu C#?
Wielkie dzięki wszystkim. Nie jestem zbyt dobry w korzystaniu z WMI i po trafieniu błędu po błędzie, zdecydowałem się na odpowiedź flodin. Oto przykład użycia dla każdego zainteresowanego: http://www.pinvoke.net/default.aspx/wtsapi32/WTSEnumerateSessions.html – Zahymaka