Entwickler-Ecke
WinForms - Druckaufträge überwachen
watwerbistdudenn - Sa 12.09.09 10:49
Titel: Druckaufträge überwachen
Hallo zusammen,
ich suche nach einer Möglichkeit die Druckaufträge zu überwachen.
Ich setzte einen Druckerserver ein auf dem über 100 Drucker installiert und freigegeben sind die Sich die Mitarbeiter einbinden.
Mein Versuch war es die Druckerwarteschlangen des Druckserver auszuwerten was aber viel zu lange dauert und dadruch Drucke mit einer Seite teilweise nicht ausgewertet werden.
Dazu habe ich Klassen aus dem System.Printing Namespace genommen.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| private List<PrintJob> gibPrintJobs() { PrintServer myPrintServer = new PrintServer(@"\\servername"); List<PrintJob> liste = new List<PrintJob>(); PrintQueueCollection myPrintQueues = myPrintServer.GetPrintQueues(); while(true) { listView1.BeginUpdate(); foreach (PrintQueue pq in myPrintQueues) { pq.Refresh(); PrintJobInfoCollection jobs = pq.GetPrintJobInfoCollection(); foreach (PrintSystemJobInfo job in jobs) { ListViewItem lv = new ListViewItem(); lv.Text = job.Submitter; lv.SubItems.Add(Convert.ToString(job.NumberOfPages)); listView1.Items.Add(lv); } } listView1.EndUpdate(); } return liste; } |
Könnte mir jemand ein Tipp geben wie ich das efizienter lösen kann.
Ich könnte das Tool auch auf dem Druckserver laufen lassen, das wäre nicht das Problem.
Vielen Dank schon einmal.
Grüße
Ralf
JüTho - Sa 12.09.09 12:48
Hallo,
wirklich helfen kann ich nicht. Es kommt mir aber seltsam vor, dass du in eine Aufgabe, die eine Liste verarbeiten soll, direkt eine ListView einbindest. Das widerspricht dem NET-Grundsatz, Daten und GUI zu trennen; außerdem gehört die ListView wohl zu den Controls, die am schwierigsten (langsamsten) zu verarbeiten sind.
Meine Empfehlung lautet, zunächst die List<PrintJob> zusammenzustellen und getrennt davon die Anzeige zu behandeln.
Vielleicht hilft das schon weiter. Gruß Jürgen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!