Autor Beitrag
MarkusBauer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70

Win XP Pro
Delphi 7 PE+Indy
BeitragVerfasst: Mi 24.09.08 20:09 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Mi 24.09.08 20: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.

_________________
PROGRAMMER: A device for converting coffee into software.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19336
Erhaltene Danke: 1751

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 24.09.08 20: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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220



BeitragVerfasst: Mi 24.09.08 23: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.

_________________
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: blog.delphi-jedi.net = JEDI API LIB & Windows Security Code Library (JWSCL)
MarkusBauer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70

Win XP Pro
Delphi 7 PE+Indy
BeitragVerfasst: Do 25.09.08 16: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?