Windows 如何从JOB_INFO_1(GetJob)获取TotalPages

Windows 如何从JOB_INFO_1(GetJob)获取TotalPages,windows,winapi,printing,gdi,printers,Windows,Winapi,Printing,Gdi,Printers,我正在调用GetJob()以获取文档名和TotalPages。我总是把总页数设为零。我看到MSDN,据说如果页面定界信息丢失,这个值将为零。 有没有一种方法可以从GetJob获取TotalPages或PageSprint(有任何额外设置) 谢谢 Santhi我让它工作起来了,我挂上了StartDoc并得到了JobID&试着打电话给GetJob。此时,页数为零。我尝试挂接EndJob并在结束前调用GetJob,我得到了TotalPages&PageSprint的正确号码。 如果有人看到同样的问题,

我正在调用GetJob()以获取文档名和TotalPages。我总是把总页数设为零。我看到MSDN,据说如果页面定界信息丢失,这个值将为零。 有没有一种方法可以从GetJob获取TotalPages或PageSprint(有任何额外设置)

谢谢
Santhi

我让它工作起来了,我挂上了StartDoc并得到了JobID&试着打电话给GetJob。此时,页数为零。我尝试挂接EndJob并在结束前调用GetJob,我得到了TotalPages&PageSprint的正确号码。
如果有人看到同样的问题,希望这些信息能有所帮助。

您能分享不起作用的代码吗?我正在从StartDoc获取作业ID,BOOL result=OpenPrinter(pDCInfo->PrinterName,&hPrinter,NULL);if(result){DWORD dwCNeeded=0;BOOL bStatus=GetJob(hPrinter,pJobID,2,0,0,&dwCNeeded);if(!bStatus&&GetLastError()==ERROR_uncipled_BUFFER){pJobBuf=new BYTE[dwCNeeded];}bStatus=GetJob(hPrinter,pJobID,2,pJobBuf,dwCNeeded,&dwCNeeded);if(bStatus){pJobData=(PJOB_INFO_2)pJobBuf;driveData.FileSize=pJobData->PagesPrinted;}}除了TotalPages和PrintedPages之外,我从结构中获取的所有其他值。我使用了JOB_INFO_1和JOB_INFO_2,请编辑您的问题并将代码放入其中。它不属于注释。