Ich habe lange nach einer Lösung dafür gesucht und heute auch gefunden. Ich möchte Euch mein Codeschnippsel zur Verfügung stellen, da in keinem Forum eine praktikable Lösung mit überschaubarem Code zu finden war.
Zuerst muss man den Dienstverweis zur System.Printing hinzufügen (siehe Screenshot)
Zur Info: Ich übergebe der Routine keine Parameter. Die einzelnen Druckernamen befinden sich in einer Auflistung DruckerHardware(0-256).Druckername
Zuerst muss man den Dienstverweis zur System.Printing hinzufügen (siehe Screenshot)
Zur Info: Ich übergebe der Routine keine Parameter. Die einzelnen Druckernamen befinden sich in einer Auflistung DruckerHardware(0-256).Druckername
VB.NET-Quellcode
- Imports System.Printing
- ''' <summary>
- ''' Überprüft ob ungedruckte Druckaufträge in den Drucker-Spoolern existieren
- ''' Die Druckernamen befinden sich in einem globalen Array
- ''' </summary>
- ''' <remarks></remarks>
- Public Sub DruckSpoolerPruefung()
- Dim ps As New LocalPrintServer()
- Dim myPrintQueues As New PrintQueueCollection
- Dim Alarm As Boolean = False
- For i As Integer = 0 To 256
- Alarm = False
- If DruckerHardware(i).Druckername <> "" Then 'Die Druckernamen befinden sich in einem globalen Array
- Dim PrQu As PrintQueue = ps.GetPrintQueue(DruckerHardware(i).Druckername)
- Dim jobs As PrintJobInfoCollection = PrQu.GetPrintJobInfoCollection()
- For Each job As PrintSystemJobInfo In jobs
- 'Sobald hier durchlaufen wird, existiert ein Job im Druckspooler
- Alarm = True
- Next job
- If Alarm = True Then MessageBox.Show("Es befinden sich ungedruckte Aufträge im Spooler von " + _
- DruckerHardware(i).Druckername + "." , "Spooler-Alarm", MessageBoxButtons.OK, MessageBoxIcon.Information)
- jobs = Nothing
- PrQu = Nothing
- End If
- Next i
- myPrintQueues = Nothing
- ps = Nothing
- End Sub
Liebe Grüße
Roland Berghöfer
Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
Roland Berghöfer
Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at