我感興趣的是坐落在窗戶內的shadow文件(.SHD)裏面的一些信息後臺打印目錄「C:\ WINDOWS \ SYSTEM32 \閥芯\ PRINTERS 」。每次打印作業開始時,都會在該目錄中創建假脫機文件(.spl)和影子文件(.shd)。到目前爲止,我已經成功地檢測到打印作業何時開始,並且能夠暫停該打印作業。如果您不暫停作業,文件最終將進入打印機,然後通過窗口刪除。需要幫助打開被鎖定打印機假脫機shadow文件(.SHD)
我的問題是。我無法打開.SHD文件,因爲它們被鎖定的方式無法在sprint假脫機程序打開它們時讀取它們。我甚至試圖去在Windows資源管理器中的文件,只是將文件複製到另一個文件,並沒有工作。我可以打開的.SPL假脫機文件。我只需等待,並相當快地將假脫機程序釋放該文件。對於影子文件,它永久保存在這個文件中。不幸的是,它是我需要的。
的我使用的是專門來打開文件中的代碼行如下:
m_spoolJobStream = new FileStream(spoolFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
IOException異常,我得到的是:
該進程無法訪問文件「C:\ Windows \ system32 \ spool \ PRINTERS \ FP00083.SHD',因爲它正在被另一個進程使用。
所以,是的,它正由另一個進程使用。它被窗口的後臺打印程序服務使用。但我不認爲我能做些什麼。我想要做的就是讀取文件。我不想對它做任何更改。有什麼我可以在這裏做或我只是擰了?
您是否嘗試過與複印張數場「dmCopies」的情況下,如果您打印Word文檔和值是正確的或總是爲「1」的新的解決方案? – karelp90