//获取打印机列表
int CloginDlg::GetPrintJobList(CString szPrintName)
{
HANDLE hPrinter;
DWORD dwNeeded, dwReturned,i;
JOB_INFO_1* pJobInfo;
DWORD res = 0;
res = OpenPrinter( (LPWSTR)(LPCWSTR)szPrintName,&hPrinter,NULL);
if(!res)
return -1;
res = EnumJobs(hPrinter,0,0xFFFFFFFF,1,0,0,&dwNeeded,&dwReturned);
if(res)
{
if(GetLastError() != ERROR_INSUFFICIENT_BUFFER)
{
//打印列表里没任务;
int CloginDlg::GetPrintJobList(CString szPrintName)
{
HANDLE hPrinter;
DWORD dwNeeded, dwReturned,i;
JOB_INFO_1* pJobInfo;
DWORD res = 0;
res = OpenPrinter( (LPWSTR)(LPCWSTR)szPrintName,&hPrinter,NULL);
if(!res)
return -1;
res = EnumJobs(hPrinter,0,0xFFFFFFFF,1,0,0,&dwNeeded,&dwReturned);
if(res)
{
if(GetLastError() != ERROR_INSUFFICIENT_BUFFER)
{
//打印列表里没任务;

本文介绍了如何在C++中使用OpenPrinter和EnumJobs函数获取打印机列表及其作业状态。通过示例代码展示了从指定打印机获取JOB_INFO_1结构体数组,并解析其中的文档名称和作业状态。
最低0.47元/天 解锁文章
1895

被折叠的 条评论
为什么被折叠?



