Thema: Delphi Printer.GetPrinter ??

Einzelnen Beitrag anzeigen

Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: Printer.GetPrinter ??

  Alt 29. Sep 2005, 18:54
In der Unit Printers.pas holt Delphi sich die Liste der zur Verfügung stehenden Drucker mit der API-Funktion EnumPrinters. Für NT und Nachfolger (2000, XP, 2003) geschieht dies mit Level 4, für ältere System (95, 98, Me) mit Level 5 (nur lokale Drucker).

In der PRINTER_INFO_4-Struktur (wg. Level 4) steht nur der Druckername (sowie der Servername) - das reicht aus, um den Drucker zu öffnen (insbesondere im Netz).

Der PrintDialog ruft die SetPrinter Methode des TPrinter-Objekts auf und übergibt dabei die zusätzliche Information. Allerdings wohl nur für den aktuellen Drucker.

Wenn du die Infos wirklich brauchst, dann rufe selbst EnumPrinters mit Level 5 auf - dann kriegst du auch den Port (Beispielcode kannst du dir in Printers.pas von Delphi ansehen).
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat