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
 
Hinweis
Um diesen Tipp ausführen zu können, muss ein Verweis auf die .Net-Komponente System.Management gesetzt werden.
Weitere Links zum Thema
Freien Laufwerksplatz ermitteln (WMI)
System-Informationen auslesen (WMI)
Windows beenden (WMI)

Windows-Version
98/SE
ME
NT
2000
XP
Vista
Win 7


Download  (17,5 kB) Downloads bisher: [ 277 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Tipps | Projekte | Tutorials | Bücherecke | VB-/VBA-Tipps | API-Referenz | Komponenten | VB.Net-Forum | VB/VBA-Forum | DirectX-Forum | Foren-Archiv | DirectX | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Samstag, 21. Januar 2012