我有一個處理打印請求的系統服務,並且從用戶獲得打印機名稱,將DC附加到該打印機。它開始一個文檔,結束它,並detatches。我可以通過編程方式使用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 2013-05-10 22:34:06
'發送文檔到打印機'等對話框不會出現任何調用失敗,所有返回期望值(並非每個調用都被檢查,但所有的設置 - 拆卸都是)。其中的每一個函數實際上都是這樣調用的:'if(m_DC.EndDoc()<0)LOG(L「無法結束文檔打印」);',但不出現錯誤。 – Rollie 2013-05-10 23:11:32