使用StartDoc()/ EndDoc()时如何拦截USB打印机错误消息?

时间:2012-06-26 07:22:19

标签: c# windows-ce printer-control-language

我希望有人可以指出我正确的方向 打印问题我在下面:

设定: 赢得CE 5.0 尝试从自定义应用程序打印。

我在我的应用程序中编写了一个非常简单的打印类 使用pcl驱动程序并打印到HP USB打印机。印刷 方面在正常情况下是好的,但我看不出明显的 处理错误条件的方法,例如打印机中没有纸张等。

我正在做这样的事情(一般错误检查和其他 为清楚起见,删除了详细信息):

// Get a DC to the printer. If printer isn't powered this will fail -
can print error stating "printer not found" or similar
hdcPrinter = CreateDC(@"pcl.dll", @"PCL Inkjet", @"LPT2:", ref mode);


// Signal the start of a document
StartDoc(hdcPrinter, &docInfo)
// Signal the start of a page
StartPage(hdcPrinter)

// Prepare the page to print/formatting etc

// Finished preparing the page
EndPage(hdcPrinter)

// This is the only page we are printing this time
EndDoc(hdcPrinter)

// Return the printer DC to the system as we are finished with it now.
DeleteDC(hdcPrinter);

感谢您提供的任何帮助,

希尔帕

1 个答案:

答案 0 :(得分:1)

即使打印机缺纸,卡纸或其他未准备就绪,您确定DC会成功吗?

一旦启动打印作业,如果打印机遇到问题则不是问题。此时,操作系统应该与用户进行交互,让他们知道存在问题,必要时重新启动作业等等。