c# 取得打印机的任务列表
时间: 2023-08-02 09:14:19 浏览: 54
可以使用 System.Printing 命名空间中的 PrintQueue 类来获取打印队列的任务列表。以下是一个简单的示例代码,它将打印机名称作为输入,并输出该打印机的任务列表:
```csharp
using System.Printing;
public void GetPrintJobs(string printerName)
{
// Get the print queue for the specified printer
PrintQueue printQueue = new PrintQueue(new PrintServer(), printerName);
// Get the print jobs for the print queue
PrintJobInfoCollection printJobs = printQueue.GetPrintJobInfoCollection();
// Output information about each print job
foreach (PrintSystemJobInfo job in printJobs)
{
Console.WriteLine("Job Name: {0}", job.Name);
Console.WriteLine("Status: {0}", job.JobStatus.ToString());
Console.WriteLine("Submitted: {0}", job.SubmissionTime.ToString());
Console.WriteLine("Total Pages: {0}", job.NumberOfPages.ToString());
Console.WriteLine();
}
}
```
在上面的代码中,我们首先创建了一个 PrintQueue 对象,该对象表示指定打印机的打印队列。然后,我们使用 GetPrintJobInfoCollection 方法获取打印队列中的所有任务,并使用 foreach 循环遍历每个任务,并输出一些基本信息,例如任务名称、状态、提交时间和总页数等。请注意,此代码需要使用 System.Printing 命名空间和引用 PrintSystemJobInfo 类来获取有关打印作业的信息。