{
free( pJobs );
_tcscpy(m_tchPrinterMessage,_TEXT("打印出错!"));
return bResult;
}
else if(dwPrinterStatus & PRINTER_STATUS_PAPER_JAM)
{
free( pJobs );
_tcscpy(m_tchPrinterMessage,_TEXT("打印机卡纸"));
return bResult;
}
else if(dwPrinterStatus & PRINTER_STATUS_PAPER_OUT)
{
free( pJobs );
_tcscpy(m_tchPrinterMessage,_TEXT("打印纸位置不正确"));
return bResult;
}
else if(dwPrinterStatus & PRINTER_STATUS_PAPER_PROBLEM)
{
free( pJobs );
_tcscpy(m_tchPrinterMessage,_TEXT("打印纸出现问题"));
return bResult;
}
else if(dwPrinterStatus & PRINTER_STATUS_OUTPUT_BIN_FULL)
{
free( pJobs );
_tcscpy(m_tchPrinterMessage,_TEXT("打印输出已满"));
return bResult;
}
else if(dwPrinterStatus & PRINTER_STATUS_NOT_AVAILABLE)
{
free( pJobs );
_tcscpy(m_tchPrinterMessage,_TEXT("打印机不可用"));
return bResult;
}
else if(dwPrinterStatus & PRINTER_STATUS_TONER_LOW)
{
free( pJobs );
_tcscpy(m_tchPrinterMessage,_TEXT("打印机墨粉不足"));
return bResult;
}
else if(dwPrinterStatus & PRINTER_STATUS_NO_TONER)
{
free( pJobs );
_tcscpy(m_tchPrinterMessage,_TEXT("打印机没有墨粉"));
return bResult;
}
else if(dwPrinterStatus & PRINTER_STATUS_OUT_OF_MEMORY)
{
free( pJobs );
_tcscpy(m_tchPrinterMessage,_TEXT("打印内存溢出"));
return bResult;
}
else if(dwPrinterStatus & PRINTER_STATUS_OFFLINE)
{
free( pJobs );
_tcscpy(m_tchPrinterMessage,_TEXT("无法连接打印机,\n可能是打印机未启动"));
return bResult;
}
else if(dwPrinterStatus & PRINTER_STATUS_DOOR_OPEN)
{
free( pJobs );
_tcscpy(m_tchPrinterMessage,_TEXT("打印机的门是开着的,\n请关闭"));
return bResult;
}
for (i = 0; i < cJobs; ++i)
{
/// 如果打印页正在打印
if (pJobs[i].Status & JOB_STATUS_PRINTING)
{
_tcscpy(m_tchPrinterMessage,_TEXT("正在打印..."));
if (pJobs[i].Status &
(JOB_STATUS_ERROR |
JOB_STATUS_OFFLINE |
JOB_STATUS_PAPEROUT |
JOB_STATUS_BLOCKED_DEVQ))
{
free( pJobs );
_tcscpy(m_tchPrinterMessage,_TEXT("打印出错!"));
return bResult;
}
}
///// 如果打印页已经打印或删除
//if(pJobs[i].Status &
// (JOB_STATUS_PRINTED|
// JOB_STATUS_DELETED))
//{
// free( pJobs );
// ::ClosePrinter(m_hPrintHandle);
// return PRINT_END;
//}
/// 如果打印页已经打印
if(pJobs[i].Status & JOB_STATUS_PRINTED)
{
free( pJobs );
::ClosePrinter(m_hPrintHandle);
_tcscpy(m_tchPrinterMessage,_TEXT("打印成功!"));
bResult = PRINT_TRUE;
return bResult;
}
/// 如果已经删除打印作业
else if(pJobs[i].Status & JOB_STATUS_DELETED)
{
free( pJobs );
::ClosePrinter(m_hPrintHandle);
_tcscpy(m_tchPrinterMessage,_TEXT("已取消打印"));
bResult = PRINT_TRUE;
return bResult;
}
else if(pJobs[i].Status & JOB_STATUS_PAUSED)
{
free( pJobs );
::ClosePrinter(m_hPrintHandle);
bResult = PRINT_FALSE;
_tcscpy(m_tchPrinterMessage,_TEXT("打印作业暂停..."));
return bResult;
}
else if(pJobs[i].Status & JOB_STATUS_ERROR)
{
free( pJobs );
::ClosePrinter(m_hPrintHandle);
bResult = PRINT_FALSE;
_tcscpy(m_tchPrinterMessage,_TEXT("打印作业出错"));
return bResult;
}
else if(pJobs[i].Status & JOB_STATUS_SPOOLING)
{
free( pJobs );
::ClosePrinter(m_hPrintHandle);
bResult = PRINT_FALSE;
_tcscpy(m_tchPrinterMessage,_TEXT("打印作业脱机"));
return bResult;
}
else if(pJobs[i].Status & JOB_STATUS_SPOOLING)
{
free( pJobs );
::ClosePrinter(m_hPrintHandle);
bResult = PRINT_FALSE;
_tcscpy(m_tchPrinterMessage,_TEXT("打印作业脱机"));
return bResult;
}
e