Hallo,
ich nutze die StringList Printer.Printers aus der
Unit Vcl.Printers. Delphi füllt diese bei der ersten Nutzung und danach wird sie nicht mehr geändert.
Wenn mein Programm nun ausgeführt wird und der Anwender währenddessen einen neunen Drucker installiert oder einen löscht, passt der Inhalt von Printer.Printers nicht mehr zu den real vorhandenen Druckern. Entweder klappt das Drucken dann gar nicht oder der Ausdruck findet auf dem falschen Drucker statt.
Wie kann ich diese Liste neu einlesen? Und wie kann ich erkennen, ob an den Drucker etwas geändert wurde? Gibt es da ein Event/Message? Im schlimmsten Fall würde ich dem Anwender dann einfach eine Meldung anzeigen, dass er mein Programm neu starten soll. Da bei nächsten Start die Drucker dann neu eingelesen werden. Danke!