2011-10-26 54 views
3

我想獲得打印作業的文件地址,我在JOB_INFO_2記錄中有它的信息,它有一個名爲「DocumentName」的字段,但它不是Document「File Name」! ,其剛剛標題的窗口已發送打印請求如何獲得打印作業文檔名稱(文件地址)?

是否有可能獲得作業的文件名/地址?

它可能獲得「DocumentName」的窗口句柄,然後獲取句柄的文件名(進程名稱),但是如何獲取文檔文件名?

例如:我已經打開DOC文件雙贏MS-Word中,與上述解決方案,我們可以得到MS-Word中Exe文件地址,但我想DOC文件的文件名/地址

此外,當Document是圖片時,沒有標題!

回答

5

不一定有這樣的事情。您可以先打印所有種類的東西,而不必先將其保存到磁盤,這樣可能沒有文件名。即使存在,文件也不一定與發送到打印機的文件相匹配 - 人們始終都會打印,而不必先保存更改。

您似乎正在閱讀的大部分字段僅爲信息字段。打印應用程序不需要提供它們,並且不需要它們,因爲Windows不需要它們來執行打印作業。他們很高興看到印刷經理的用戶可以瞭解發生了什麼。

+0

這不是一個答案。當您將輸出重定向到打印機以外的其他設備,但使用打印後臺打印時,需要使用打印作業名稱。例如:PDFCreator。 – celerno

+0

你的例子還不夠,@Celerno。我需要的不僅僅是一個詞來表達你的觀點。請詳細解釋一下。程序沒有義務爲他們正在打印的內容提供文件名稱。虛擬打印機不能期望收到文件名。打印作業的名稱不一定是文件的名稱,它當然不需要引用磁盤上的實際文件。我已經回答了這個問題,解釋了它的前提是有缺陷的,它是無法回答的。如果您願意,歡迎您提供替代答案。 –