Как вы перехватываете сообщения об ошибках принтера USB при использовании StartDoc()/EndDoc()?

Я надеюсь, что кто-то может указать мне правильное направление относительно проблемы печати, которую я имею ниже:

Установка: Win 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 ответ

Вы уверены, что получить DC успешно, даже если в принтере нет бумаги, он застрял или не готов к работе?

После запуска задания на печать проблема не возникает, если принтер сталкивается с проблемой. В этот момент ОС должна взаимодействовать с пользователем и сообщать ему о наличии проблемы, при необходимости перезапускать работу и т. Д.

Другие вопросы по тегам