Announcement

Collapse
No announcement yet.

Drucker und Services

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Drucker und Services

    Habe da ein kleines Problem,dessen Ursache ich zwar kenne aber mir fällt absolut keine Lösung ein.
    Ich setze einen Dienst ein um eine Anwendung, nach dem Start eines anderen Dienstes, mittels ShellExecute aufzurufen.
    Dies funktioniert auch hervoragend. Was nicht funktioniert, ist das Ausdrucken aus der aufgerufenen Anwendung, da der Standard-Drucker nicht erkannt wird. Wird die Anwendung manuell gestartet funktioniert dies problemlos.
    OK, der Grund ist wohl der, daß beim Start über den Service nicht das aktuelle Benutzerprofil sondern daß Systemkonto genutzt wird und somit keine Drucker vorhanden sind.
    Nur... wie kann ich das ändern? Eine Anmeldung des Dienstes unter einem Userprofil scheidet aus (auch wenn es dann funktioniert), weil ich eine interaktive Beziehung des Dienstes zum Desktop benötige.
    Hat irgenwer eine brauchbare Idee???

  • #2
    Hallo,

    wenn der Anwendung ein Automation-Objekt (TAutoObject) verpasst wird, könnte der Dienst die Instanz über den COM-Weg erzeugen (Hilfsfunktion <i>CoXYZ.Create</i> aus der von Delphi angelegten Typbibliotheks-Unit), und nicht über ShellExecute. Im Fall des Automation-Servers kann man im Eigenschaftsdialog (DCOMCNFG) die Identität (Benutzerkonto) explizit festlegen.

    P.S: Ich habe das aber bisher noch nicht ausprobiert :-

    Comment

    Working...
    X