2014-10-03 149 views
-1

我需要按特定順序打印文檔。 爲此,我使用shellExecute api來打印文檔。獲取打印機默認使用的進程

某些文檔可能會更快打印,所以我必須等待文檔在調用另一個shellExecute之前在假脫機程序中。

爲此,我使用FindFirstPrinterChangeNotification,waitForSingleObject和FindNextPrinterChangeNotification。

它工作正常。 但是,如果由shellExecute啓動的應用程序已經打開,則可能會在另一臺打印機上打印Windows默認打印機。 (如果默認打印機已更改)

我可以看所有打印機,但是,我更願意知道哪個打印機使用啓動的過程並觀看此打印機。

使用shellExecuteEx,我可以獲得由此api啓動的進程的句柄。

那麼,有沒有辦法知道進程默認使用的打印機?

+0

我們在談論什麼應用程序?也許還有其他選擇? – whosrdaddy 2014-10-03 11:29:57

+0

好吧,我不知道應用程序。它可以是與文檔類型關聯的任何應用程序。通常,它是pdf閱讀器,ms word ans ms excel,但它可以是其他任何東西 – Arsnow 2014-10-13 06:58:17

回答

0

那麼,有沒有辦法知道進程默認使用的打印機?

不,沒有。程序有權使用他們選擇的任何邏輯來確定其默認打印機。所以一般來說,你無法問一個過程使用哪臺打印機,而沒有更具體的相關過程知識。

相關問題