Wenn ich versuche, alle Drucker abzurufen und durch sie zu iterieren mit :
Dim printServer As New PrintServer()
For Each printer As PrintQueue In printServer.GetPrintQueues({EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Connections})
...
Next
Es scheint, als ob es einwandfrei funktioniert, nur das UserPrintTicket für die zurückgegebenen Drucker ist inkorrekt. Wenn ich einen Drucker im Querformat in den Druckereinstellungen einstelle und diese Methode verwende, ist mein printer.UserPrintTicket immer noch im Hochformat.
ABER (und das ist das Problem) wenn ich folgendes mache :
printServer.GetPrintQueue(printerName)
Dann ist mein UserPrintTicket korrekt. Ich würde das verwenden, nur kann ich anscheinend nicht herausfinden, wie ich Netzwerkdrucker mit dieser Funktion abrufen kann (und ich habe mehrere Möglichkeiten ausprobiert, kein Glück).
Also hier sind meine zwei Fragen :
- Warum zum Teufel sind die UserPrintTicket unterschiedlich zwischen zwei scheinbar identischen Methoden?
- Wie kann ich Netzwerkdrucker mit GetPrintQueue abrufen?