用windows自带的winapi呀: OpenPrinter – 打开打印机 EnumJobs – 枚举打印作业 GetJob – 获取作业的详细状态 ClosePrinter – 关闭打印机句柄 任务状态 JOB_STATUS_PRINTING – 正在打印 JOB_STATUS_PRINTED – 已经打印完成 JOB_STATUS_ERROR – 出错 JOB_STATUS_DELETING – 正在删除 JOB_STATUS_OFFLINE – 打印机离线 通过轮询或回调,就能知道作业是否完成。 举例C++代码: [C++] 纯文本查看 复制代码JOB_INFO_2 *pJob; DWORD needed, returned; OpenPrinter(L"你的打印机名", &hPrinter, NULL); EnumJobs(hPrinter, 0, 10, 2, (LPBYTE)pJob, cbBuf, &needed, &returned); for (DWORD i = 0; i