簡體   English   中英

從USB打印機記錄原始數據並使用后台打印程序

[英]Logging raw data from usb printer and using print spooler

我知道像這里和其他一些地方之前也曾問過類似的問題。 但我想問一些基本概念。

因此,我被分配了一個要做“ usb logger”的項目。 該項目的主要功能是在記錄器軟件上捕獲從PC傳輸到Usb打印機的數據,以便將每個打印輸出的原始數據保存到文件中以進行記錄和分析。

有人告訴我可以使用像usbpcap這樣的第三方工具,但是我建議了為什么我們不能直接從后台打印程序獲取數據。 據我所知,后台打印程序會維護要打印的數據隊列。

在開始這個項目之前,我想問一些基本問題

1)在這種情況下原始數據是什么?

2)我可以通過直接從假脫機程序獲取還是有另一種方法來實現此目的?

3)哪個將需要更多的PC資源與USB端口或后台打印程序進行通信?

我只需要完全了解該領域。 (我將使用C#開發此項目)

謝謝

如果您需要以原始格式捕獲整個輸出,則最簡單的方法是使用端口監視器。 端口監視器位於假脫機程序和物理輸出設備之間,並將原始數據寫入該設備,因此這是捕獲此類數據的自然場所。

您需要做的是安裝Windows WDK並查看示例端口監視器。 您應該只需很少的修改就可以使用它。 通常,除了將數據寫入打印機外,您只需要添加代碼即可將數據寫入文件中的某個位置。 您還需要更改所有與注冊表有關的代碼,因為該示例假定它是默認端口監視器,並寫入保留給Windows的注冊表項。

請注意,版本4打印驅動程序(即Win8)不支持自定義端口監視器。 但是,Win8仍支持v3打印驅動程序,該驅動程序應涵蓋當前在那里使用的所有打印機。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM