У меня есть системная служба, которая обрабатывает запросы на печать и дает имя принтера от пользователя, прикрепляет к этому принтеру DC. Он запускает документ, заканчивает его и останавливает.Могу ли я программно использовать драйвер принтера OneNote?
m_PrinterDC.CreateDC (L"WINSPOOL", _printerName.c_str(), NULL, NULL)
m_DC.Attach(m_hprinter)
m_DC.StartDoc(...)
...
mDc.TextOut(...)
...
m_DC.EndDoc()
m_DC.Detatch()
Это отлично работает для обычных принтеров, но при использовании «Печать в OneNote» функциональность (имя драйвера «Отправить OneNote 2010») это не похоже на работу. Я хотел бы избежать пользовательской логики только для этой функции; в идеале все принтеры будут работать независимо. Любые мысли, что может пойти не так? Я попытался обновить параметры безопасности принтера, включив права на печать для всех групп; не уверен, что еще попробовать.
«это не работает» - будьте точнее. Какой вызов терпит неудачу? Вы проверяли возвращаемые значения, не так ли? – MSalters
Не появляется диалоговое окно «отправка документа на принтер» и т. Д. Ни один из вызовов не работает, все возвращают ожидаемые значения (не каждый звонок проверяется, но все настройки - это разрывы). Каждая из этих функций на самом деле называется: 'if (m_DC.EndDoc() <0) LOG (L" Не удалось завершить печать документа ");', но ошибка не появляется. – Rollie