![]() |
Drucken aus Windows-Dienst
Hallo,
ich habe ein Problem mit dem Drucken aus einem Windows-Dienst heraus bzw. bereits mit der Druckerzuweisung. Folgender Quelltext:
Delphi-Quellcode:
Der Code funktioniert in einem normalen Progamm ohne Probleme, leider nicht in einem Dienst.
for i := 0 to printer.printers.Count-1 do // heraussuchen aller definierten Windows-Drucker
begin if printer.Printers.strings[i] = DrName then druckerindex := i; // DrName kommt aus einem Datenbankeintrag end; printer.Printerindex := druckerindex; // die Alternative wäre: printer.SetPrinter(pChar(DrName), pchar('WINSPOOL'), PCHAR(''), Art); Hat jemand einen Tip ? Gruss |
Re: Drucken aus Windows-Dienst
Hallo,
handelt es sich bei den Druckern um lokal oder Netzwerkdrucker, bei denen der Spooler auf einem anderen Server installiert ist. Sollte das der Fall sein, dann brauch der Dienst das Recht auf diesem drucken zu dürfen. Innerhalb einer Domäne könnte man den Dienst unter einem Domänenaccount betreiben. Handelt es sich nicht um eine Domäne, dann auf beiden Rechner einen Account mot gleichem Passwort anlegen und den Dienst unter diesem laufen lassen. |
Re: Drucken aus Windows-Dienst
Es handelt sich im Testfall (und auch im Anwendungsfall) um einen Rechner auf dem der Dienst laufen soll und auf dem auch der Drucker installiert ist.
Der Drucker ist als lokaler Drucker installiert und geht dann anschliessend auf eine IP-Adresse. Das Problem ist aber, dass der Dienst überhaupt keinen Zugriff auf den Drucker hat, auch lokal nicht (keine Domäne). |
Re: Drucken aus Windows-Dienst
es kommt glaub ich auch darauf an, unter welchem Benutzeraccount der Dienst läuft - das kann man in der Konfiguration des dienstes einstellen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz