Entwickler-Ecke

Sonstiges (Delphi) - Prog auf anderem Desktop starten


MarkusBauer - Mi 24.09.08 21:09
Titel: Prog auf anderem Desktop starten
Hallo,

ich möchte ein Programm als Service laufen lassen, gleichzeitig jedoch auch auf den Desktop des aktuellen Users zugreifen können, um z.B. ein Programm zu starten.
Wenn man als Service einfach Shellexecute aufruft, wird das Programm zwar gestartet, aber die Benutzeroberfläche ist vom angemeldeten User nicht zu sehen. Wie kann ich ein Programm auf dem aktuellen Desktop starten?

lg Markus


Xentar - Mi 24.09.08 21:18

Was hast du denn vor?

Normalerweise ist ein Dienst eben genau dafür gedacht, dass er im Hintergrund läudt, und nichts mit dem Desktop am Hut hat.


jaenicke - Mi 24.09.08 21:26

Unter XP kann man Diensten das Recht geben mit dem Desktop des Benutzers zu kommunizieren (leider). Unter Vista geht das gar nicht mehr. Dafür ist ein Dienst auch nicht gedacht.
Wenn dein Dienst das tun muss, dann ist dein Konzept nicht ausgereift...


Dezipaitor - Do 25.09.08 00:40

Starte einen neuen Prozess in die Session des Benutzers mit dessen Rechte und zeige deinen Dialog an. Kommunikation zwischen beiden geht dann über Pipes oder so.


MarkusBauer - Do 25.09.08 17:42

Wie startet man einen neuen Prozess in die Session des Benutzers? Geht das über den Service oder muss man sein Programm dafür in den Autostart des Nutzers eintragen?