Das ganze Unterfangen funktioniert eigentlich seit Win2000 nicht mehr. Das Problem sind Sessions für den Multiuserbetrieb. Jeder eingeloggte Benutzer (Konsole oder Terminal-RDP) bekommt eine eigene Session. Unter XP teilen sich Dienste und der erste eingeloggte Benutzer die Session Nummer 0. Ein neuer Benutzer bekommt die 1 usw. In Vista hat wurde für Dienste und der erste Benutzer zwei Sessions eingeführt und daher sind interaktive Dienste nicht mehr möglich.
Eine Session ist eine Umgebung, die WindowStations, Desktops und einiges mehr besitzt. Jede hat eine winsta0\winlogon + default Desktop. SendMessage (Und damit das ganze Windowmanagersystem) funktioniert nicht über Sessiongrenzen hinweg und sogar ein Großteil der Handles sind ungültig.
Benutze WTSSendMessage für eine session-gezielte Nachrichtenbox (nur lokal).
UpdateHabe ich doch glatt meinen Artikel vergessen:
http://blog.delphi-jedi.net/2008/06/...ite-a-service/