nterStatus & PRINTER_STATUS_ERROR) { 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 |