Hmm..
Eine Möglichkeit würde Wtsapi32.dll mit RegisterSessionNotification sein.
Ob es anders Windows-Messages gibt... Weiß nicht.
Mit dieser ist es möglich Events zu bekommen u.A. für WTS_SESSION_LOCK/WTS_SESSION_UNLOCK des ScreenSavers.
Als Dienst (laufend als LocalSystem) kannst Du diese sogar benutzen, um bei WinLogon (Windows Anmeldung) in der Session des gerade angemeldeten User eine Applikation zu starten.
Denke ein ähnliches verfahren nutzen VirenScanner, um die
GUI zu starten.