Feedback

C# - Druckaufträge mit WMI auslesen

Veröffentlicht von am 05.07.2007
(0 Bewertungen)
Druckaufträge mit WMI auslesen

Dem Projekt muss ein Verweis auf System.Management hinzugefügt werden!
GFU-Schulungen  [Anzeige]

XML und .NET Überblick

Um auf dem neuesten Wissensstand zu sein, sollten Sie unser aktuelles ASP .NET Komplett Seminar belegen.
Nach dem Seminar kennen Sie die wichtigsten Strömungen in der Software-Technologie

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

// Verweis auf System.Management mus dem Projekt hinzugefügt werden
// using System.Management;
// using System.Collections.Generic;

/// <summary>
/// Get all Print Jobs
/// </summary>
/// <returns>List<PrintJob></returns>
private List<PrintJob> GetPrinterJobs()
{
    string wmiQuery = "SELECT * FROM Win32_PrintJob";
    ManagementObjectSearcher jobsSearcher = new ManagementObjectSearcher(wmiQuery);
    ManagementObjectCollection jobCollection = jobsSearcher.Get();
    List<PrintJob> printJobs = new List<PrintJob>();

    foreach (ManagementObject mo in jobCollection)
    {
        PrintJob printJob = new PrintJob();
        printJob.Caption = (string)mo["Caption"];
        printJob.DataType = (string)mo["DataType"];
        printJob.Description = (string)mo["Description"];
        printJob.Document = (string)mo["Document"];
        printJob.DriverName = (string)mo["DriverName"];
        printJob.ElapsedTime = (string)mo["ElapsedTime"];
        printJob.HostPrintQueue = (string)mo["HostPrintQueue"];
        printJob.InstallDate = (string)mo["InstallDate"];
        printJob.JobId = Convert.ToUInt32( mo["JobId"]);
        printJob.JobStatus = (string)mo["JobStatus"];
        printJob.Name = (string)mo["Name"];
        printJob.Notify = (string)mo["Notify"];
        printJob.Owner = (string)mo["Owner"];
        printJob.PagesPrinted = Convert.ToUInt32(mo["PagesPrinted"]);
        printJob.Parameters = (string)mo["Parameters"];
        printJob.PrintProcessor = (string)mo["PrintProcessor"];
        printJob.Priority = Convert.ToUInt32(mo["Priority"]);
        printJob.Size = Convert.ToUInt32(mo["Size"]);
        printJob.StartTime = (string)mo["StartTime"];
        printJob.Status = (string)mo["Status"];
        printJob.StatusMask = Convert.ToUInt32(mo["StatusMask"]);
        printJob.TimeSubmitted = (string)mo["TimeSubmitted"];
        printJob.TotalPages = Convert.ToUInt32(mo["TotalPages"]);
        printJob.UntilTime = (string)mo["UntilTime"];
    }

    return printJobs;
}

class PrintJob
{
    public string Caption;
    public string DataType;
    public string Description;
    public string Document;
    public string DriverName;
    public string ElapsedTime;
    public string HostPrintQueue;
    public string InstallDate;
    public uint JobId;
    public string JobStatus;
    public string Name;
    public string Notify;
    public string Owner;
    public uint PagesPrinted;
    public string Parameters;
    public string PrintProcessor;
    public uint Priority;
    public uint Size;
    public string StartTime;
    public string Status;
    public uint StatusMask;
    public string TimeSubmitted;
    public uint TotalPages;
    public string UntilTime;
}
Abgelegt unter WMI, Printer, Drucker, Spooler, Printjob.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!