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.

questionAnswers(2)

yourAnswerToTheQuestion