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