2

我需要拦截 LPT 输出流量。经过几个小时的研究,我开始明白,做到这一点的唯一方法是编写一个内核模式驱动程序,更准确地说是一个“过滤器驱动程序”......?

我已经下载了 WDK,但术语和大量驱动程序类型有点让人不知所措。

我基本上是想了解我应该写什么样的驱动程序;我的目标环境仅是 Windows XP SP2 和 3 。

一些背景信息,如果重要的话:我有一堆旧的 DOS 应用程序可以打印到 LPT1。我希望能够捕获此输出并将此数据(在 GDI 调用之后)重定向到现代 USB(网络)打印机。好在后面的问题很简单。

我希望有人能指出我正确的方向。TIA。

4

3 回答 3

1

我有一种感觉,您也可以使用Detours来嗅探和记录流量。我有一个朋友曾经做过一些非常狡猾的事情,将东西从 COM 端口移动到使用它的其他地方。

我不确定,但这可能比从头开始编写驱动程序更容易。

于 2009-07-06T20:46:23.813 回答
1

sysinternals.com 的人编写了一个名为Portmon的应用程序,它可以让您查看串行和并行端口的情况。

它已经有几年的历史了(11/2006 是最后一次更新),但它应该可以让你记录你至少需要做一些研究的东西。

如果应用程序只是基于 DOS 的,那么您应该能够编写一个 TSR 程序,该程序在其他程序之前加载并挂钩打印中断调用,并将其重定向到您想要的位置。

您可能需要重新了解您的 386 汇编程序:)

于 2009-07-07T02:53:43.757 回答
0

您需要做的不仅仅是捕获和转发打印机数据吗?如果这就是您需要做的全部,那么 Printfil 应该为您完成这项工作。你会在这里找到它:http: //www.printfil.com/english.htm

于 2011-03-04T07:24:01.480 回答