Есть ли способ в Windows (который работает в Windows CE) проверить, подключен ли принтер и взаимодействует ли он с LPT1 на C ++?
[Edit] Дополнительная информация:
В настоящее время мы работаем с общим драйвером принтера Windows CE - pcl.dll
- передавая его в CreateDC
, чтобы получить DC для принтера.
Мы не можем вызвать PrintDlg ()
, чтобы показать диалоговое окно печати, потому что оно «слишком сложно выглядит» , но мы также не можем вызвать его с помощью PD_RETURNDEFAULT
, потому что мы не хотим использовать принтер по умолчанию. Итак, мы вручную настраиваем структуру DEVMODE
для передачи в CreateDC
.
После того, как у нас есть DC, мы вызываем GetDeviceCaps ()
, чтобы получить информация о принтере (например, ширина страницы и т. д.), затем StartPage ()
/ EndPage ()
/ ExtTextOut ()
для печати.
]Тем не мение, если принтер не подключен, программа зависает примерно на минуту, прежде чем выдает диалоговое окно «Прервать / повторить / сбой?» (я не знаю, в какой момент в этом процессе она зависает). Другое программное обеспечение не зависает при попытке печати, поэтому должен быть способ предотвратить это ...