c# 取得打印机名称的任务列表中的数量
时间: 2023-12-14 08:36:32 浏览: 25
你可以使用 System.Printing 命名空间中的 PrintServer 和 PrintQueue 类来获取打印机的任务列表并计算数量。以下是一个示例代码:
```csharp
using System.Printing;
// 获取本地打印服务器
PrintServer printServer = new PrintServer();
// 获取打印队列
PrintQueue printQueue = printServer.GetPrintQueue("打印机名称");
// 获取任务列表
var jobCollection = printQueue.GetPrintJobInfoCollection();
// 计算任务数量
int jobCount = jobCollection.Count;
```
你需要将代码中的“打印机名称”替换为实际的打印机名称。然后,你可以通过访问 jobCount 变量获取任务数量。
相关问题
c# 取得打印机的任务列表中的数量
你可以使用 System.Printing 命名空间中的 PrintServer 和 PrintQueue 类来获取打印队列中的任务数量。以下是一个示例代码:
```csharp
using System.Printing;
// 创建一个打印服务对象
PrintServer printServer = new PrintServer();
// 获取指定打印队列
PrintQueue printQueue = printServer.GetPrintQueue("打印队列名称");
// 获取队列中的所有打印任务
PrintJobInfoCollection printJobs = printQueue.GetPrintJobInfoCollection();
// 获取任务数量
int jobCount = printJobs.Count;
// 输出任务数量
Console.WriteLine("任务数量: " + jobCount);
```
请注意,此代码需要管理员权限才能访问打印队列信息。如果没有管理员权限,可能会收到异常。
c# 取得打印机的任务列表
可以使用 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 类来获取有关打印作业的信息。