我想使用Python清除或删除打印作业。
但是我怎样才能得到JobID
?在
win32print.SetJob(hPrinter, JobID , Level , JobInfo , Command)
我怎么能运行这个代码?在
jobs = []
for p in win32print.EnumPrinters(win32print.PRINTER_ENUM_LOCAL,None, 1):
flags, desc, name, comment = p
pHandle = win32print.OpenPrinter(name)
print = list(win32print.EnumJobs(pHandle, 0, -1, 1))
jobs.extend(print)
SetJob(pHandle, id, 1,JOB_CONTROL_DELETE)
#where should i get id from?
win32print.ClosePrinter(pHandle)
从您的代码开始,我成功地创建了一个小脚本,可以删除任何(本地)打印机上的任何打印作业(我测试过它,它的工作原理是)。在
这里是(我用Py35运行它):
注意事项:
EnumJobs
返回字典的元组(其中每个字典包装一个[MSDN]: ^{job_info_level = 1
),或者(显然)一个空元组,如果打印机没有排队的作业EnumJobs
的信息如何传递给SetJob
:JobID
参数(您询问的)是job_info["JobId"]
(检查前面的项目符号)Level
和JobInfo
相关问题 更多 >
编程相关推荐