C# 打印时 如何获取发送到打印队列里的jobid

yj01263431 2015-05-03 04:04:44
C# 打印时 如何获取打印队列里指定的jobid
我已经能获取到打印队列里所有的jobid,代码如下:
public static StringCollection GetPrintJobsCollection(string printerName)
{
StringCollection printJobCollection = new StringCollection();
string searchQuery = "SELECT * FROM Win32_PrintJob";

/*searchQuery can also be mentioned with where Attribute,
but this is not working in Windows 2000 / ME / 98 machines
and throws Invalid query error*/
ManagementObjectSearcher searchPrintJobs =
new ManagementObjectSearcher(searchQuery);
ManagementObjectCollection prntJobCollection = searchPrintJobs.Get();
foreach (ManagementObject prntJob in prntJobCollection)
{
System.String jobName = prntJob.Properties["Name"].Value.ToString();

//Job name would be of the format [Printer name], [Job ID]
char[] splitArr = new char[1];
splitArr[0] = Convert.ToChar(",");
string prnterName = jobName.Split(splitArr)[0];
string printJobId = jobName.Split(splitArr)[1];
string documentName = prntJob.Properties["Document"].Value.ToString();
if (String.Compare(prnterName, printerName, true) == 0)
{
printJobCollection.Add(printJobId);
}
}
return printJobCollection;
}
我有一个dataGridView,里面有很多条要打印的订单数据,可以随时打印其中任意一个,或者暂停打印
每次点打印,会往打印队列里发一个指令,请问如何获取是哪个指令的任务?


...全文
168 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧