Autor Beitrag
jf_stgt
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 88



BeitragVerfasst: Mi 13.08.08 16:41 
Guten Tag zusammen,

ein Dienst zu schreiben ist ja nicht zu schwer.
Ich habe auch eine Formularanwendung die zur Konfiguration des Dienstes (Datenbankeinstellungen) läuft.
Dies funktioniert problemlos.

Nun möchte ich aber, dass der Dienst bei bestimmten Ereignissen eine externe Anwendung startet die dann eine Meldung anzeigt, der Benutzer gibt etwas ein, ...
Man kann natürlich innerhalb des Dienstes ein ShellExecute aufrufen, aber dabei wird natürlich kein Fenster angezeigt, da der Dienst und der Benutzer ja unter unterschiedlichen "Windows Stationen" arbeiten.

Habt ihr Ideen was man da tun könnte?

Viele Grüße
jf_stgt


Moderiert von user profile iconNarses: Topic aus VCL (Visual Component Library) verschoben am Mi 13.08.2008 um 16:55
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10184
Erhaltene Danke: 1259

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 13.08.08 16:57 
Moin!

Nix kann man da tun, jedenfalls nicht direkt aus dem Dienst (ab Vista soll das erst gar nicht mehr gehen, selbst wenn man wollte und entsprechende "Tricks" kennen würde). :nixweiss:

Mach eine Anwendung, die im Benutzerkontext gestartet wird und per IPC mit dem Dienst kommuniziert. Ist eine Benutzerreaktion notwendig, dann muss das die Benutzeranwendung abwickeln und dem Dienst mitteilen. :idea:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
jf_stgt Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 88



BeitragVerfasst: Mi 13.08.08 17:18 
user profile iconNarses hat folgendes geschrieben:

Nix kann man da tun, jedenfalls nicht direkt aus dem Dienst ...

Ich habe es ehrlich gedacht schon fast befürchtet.

user profile iconNarses hat folgendes geschrieben:

ab Vista soll das erst gar nicht mehr gehen...

Ich liebe Vista.

user profile iconNarses hat folgendes geschrieben:

Mach eine Anwendung, die im Benutzerkontext gestartet wird und per IPC mit dem Dienst kommuniziert.

Bleibt mir ja nichts anderes übrig. Wobei dann die Frage ist, ob man nicht die ganze Dienstfunktionalität in die Anwendung integriert - wenn diese eh offen sein muss. Aber dies ist eine Sache die nur ich klären kann.

Gruß und danke für die schnelle Antwort
jf_stgt
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Mi 13.08.08 17:19 
Dann muss immer jemnad angemeldet sein und dieser braucht dann u.U. erhöhte Rechte.

_________________
Markus Kinzler.
jf_stgt Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 88



BeitragVerfasst: Mi 13.08.08 17:25 
Hallo Markus,

user profile iconmkinzler hat folgendes geschrieben:
Dann muss immer jemnad angemeldet sein und dieser braucht dann u.U. erhöhte Rechte.

Dies ist richtig bzw. ein Indiz für den Einsatz eines Dienstes. Ich muss klären, was passiert, wenn der Benutzer nicht angemeldet ist (weil dann ja die Anwendung die die Meldung ausgibt auch nicht tut).

Gruß
jf_stgt
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Mi 13.08.08 17:27 
Deshalb würde ich es als Dienst implementieren, dann muss niemand angemeldet sein und man hat dann auch keine Rechteproblem.

_________________
Markus Kinzler.
jf_stgt Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 88



BeitragVerfasst: Mi 13.08.08 17:34 
user profile iconmkinzler hat folgendes geschrieben:
Deshalb würde ich es als Dienst implementieren, dann muss niemand angemeldet sein und man hat dann auch keine Rechteproblem.

Ja und die Usermeldung würde nicht angezeigt da die Anwendung nicht läuft. Wie gesagt, ich muss klären, was passiert wenn die Usermeldung nicht kommt.