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]

ASP.NET 2.0 und 3.5

Dieser Kurs vermittelt Ihnen alle Erweiterungen von Microsoft ASP.NET 2.0. Zu diesen zählen u. a. Data Bindung, Master Pages, und Security.

Visual Studio Team Foundation Server 2017/2015 (TFS) - Komplett 

// 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!