DeviceCapabilities Netzwerkdrucker

A

amee_ek

Hallo Formummitglieder,

ich habe folgendes Problem:
In einer Anwendung sollen von verschiedenen Druckern Dokumente ausgedruckt werden. In der Anwendung direkt wird der Drucker und das das Druckerfach definiert, ebenso die Anzahl der Kopien. Die Drucker sind Netzwerkdrucker. Nun kann man ja mit DeviceCapabilities viele Informationen über den Drucker erhalten. Darunter auch die Papierfächer.

Leider ist es so, dass ein Port übergeben werden muss. Dieser scheint z.B. "LTP1" lauten zu müssen. Bei einem Netzwerkdrucker ist die Portbezeichnung aber IP_IPAdresse. Da wird mir immer ein Fehler geworfen.

Benötigt wird diese Informtion, weil jedem Fach eine Bezeichnung und eine Nummer zugeordnet wird, die für jeden Drucker bzw. jeden Druckertreiber pro Drucker unterschiedlich sind. (Vermutlich nicht bezeichnungen, aber doch die Nummern). Wie kann ich also an eben diese Bezeichnungen, bzw. Nummern für den netzwerkdrucker gelangen? Muss ich nur die Portbezeichnung abändern? Und wenn ja, wie? Stehen diese Informationen vielleicht auch direkt in der Registry von den Lokalen usern?

Gibt es eine weitere Möglichkeit?
Achja, ich programmiere in .net. Das PrinterDialog liefert mit nach der Fachzuweisung nur unknown für alle Fächer die nicht auto bzw. manual sind.
In den DeviceCapabilities in den PrinterSettings des ausgewählten Druckers sind ebenfalls nur die Fächer auto und manual vorhanden.

Wenn ich in Word bin, und ein Fach auswähle, wird das Dokument im korrekten Fach ausgedruckt.

Wenn ich für jeden Drucker für jedes Fach die Nummernzuordnung heraussuche, und diese statisch festlege, und den DevMode des Druckers entsprechend ändere funktioniert es auch prächtig.

Aber ich muss dynamisch vorgehen können, da die Anwendung mit beliebigen Druckern laufen soll.

Ich freue mich sehr auf Hilfe.

Anja Eckert
 
Zurück