Jak określić bieżącego użytkownika systemu Windows z usługi Windows?
Piszę usługę Windows przy użyciu C # .NET 2005. Jak mogę ustalić, kto jest aktualnie zalogowanym użytkownikiem (jeśli jest)? Czy istnieje sposób powiadamiania o logowaniu użytkownika?
Czy istnieje sposób, aby dowiedzieć się, kto ostatnio korzystał z urządzenia?
Muszę znać aktualnie zalogowanego użytkownika, aby móc buforować niektóre dane dla tego użytkownika. Działając w środowisku korporacyjnym, istnieją tysiące potencjalnych użytkowników, ale buforowanie danych ma sens tylko dla kogoś, kto używa tego komputera.
AKTUALIZACJA:
To rozwiązanie działa dobrze. Zobacz takżeten przykład pinvoke.net który używa rozszerzonej struktury do pobierania nazwy domeny.
W połączeniu z tym używam klasy SystemEvents, aby otrzymywać powiadomienia, gdy użytkownik loguje się do komputera. Widziećprzykład 2 tutaj na dobry przykład - zauważ, że musisz użyć ukrytego formularza z usługi, aby móc korzystać z SystemEvents z usługi.