|
Tipp 0164
|
Aktuelle Druckaufträge auslesen (WMI)
|
|
|
Autor/Einsender: Datum: |
|
Michael Werner 30.06.2007 |
|
Entwicklungsumgebung: |
|
VB.Net 2005 |
Framework: |
|
2.0 |
|
|
Über die WMI-Schnittstelle (Windows Management Instrumentation)
können die aktuellen Druckaufträge (Printjobs) detailliert
ausgelesen werden. WMI benötigt zunächst einen Verweis auf die
.Net-Komponente System.Management. Sinnvoll ist es außerdem, den
Namespace System.Management zu importieren.
|
Einer Instanz von ManagementObjectSearcher wird der Query
"SELECT * FROM Win32_PrintJob" übergeben und mit der Methode Get einer ManagementObjectCollection zugeführt. In einer Schleife können dann die einzelnen Printjobs über definierte Attribute ("Caption", "DataType", "Description" usw.) genauer bestimmt werden.
|
|
|
Imports System.Management
'...
Private Sub ListAllPrintjobs()
' Alle ausstehenden Druckaufträge selektieren.
Dim Query As String = "SELECT * FROM Win32_PrintJob"
Dim JobQuery As New ManagementObjectSearcher(Query)
Dim Jobs As ManagementObjectCollection = JobQuery.Get()
ListBox1.Items.Clear()
' Informationen für alle Aufträge der Warteschlange anzeigen.
For Each Job As ManagementObject In Jobs
With ListBox1
.Items.Add("Caption: " & CStr(Job("Caption")))
.Items.Add("DataType: " & CStr(Job("DataType")))
.Items.Add("Description: " & CStr(Job("Description")))
.Items.Add("Document: " & CStr(Job("Document")))
.Items.Add("DriverName: " & CStr(Job("DriverName")))
.Items.Add("ElapsedTime: " & CStr(Job("ElapsedTime")))
.Items.Add("HostPrintQueue: " & CStr(Job("HostPrintQueue")))
.Items.Add("InstallDate: " & CStr(Job("InstallDate")))
.Items.Add("JobId: " & CStr(Job("JobId")))
.Items.Add("JobStatus: " & CStr(Job("JobStatus")))
.Items.Add("Name: " & CStr(Job("Name")))
.Items.Add("Notify: " & CStr(Job("Notify")))
.Items.Add("Owner: " & CStr(Job("Owner")))
.Items.Add("PagesPrinted: " & CStr(Job("PagesPrinted")))
.Items.Add("Parameters: " & CStr(Job("Parameters")))
.Items.Add("PrintProcessor: " & CStr(Job("PrintProcessor")))
.Items.Add("Priority: " & CStr(Job("Priority")))
.Items.Add("Size: " & CStr(Job("Size")))
.Items.Add("StartTime: " & CStr(Job("StartTime")))
.Items.Add("Status: " & CStr(Job("Status")))
.Items.Add("StatusMask: " & CStr(Job("StatusMask")))
.Items.Add("TimeSubmitted: " & CStr(Job("TimeSubmitted")))
.Items.Add("TotalPages: " & CStr(Job("TotalPages")))
.Items.Add("UntilTime: " & CStr(Job("UntilTime")))
.Items.Add("----------------------------------------------")
End With
Next
End Sub
|
|
|
|
Um diesen Tipp ausführen zu können, muss ein Verweis auf die .Net-Komponente
System.Management gesetzt werden.
|
|
|
|
Windows-Version |
98/SE |
|
|
ME |
|
|
NT |
|
|
2000 |
|
|
XP |
|
|
Vista |
|
|
Win
7 |
|
|
|
|
Download (17,5
kB)
|
Downloads bisher: [ 277 ]
|
|
|