【问题标题】:DOS legacy application with USB printer带有 USB 打印机的 DOS 旧应用程序
【发布时间】:2009-10-19 09:45:39
【问题描述】:

我有一项不幸的任务是对 DBIII+/Clipper '87 开发的两个遗留应用程序进行(最少的)维护工作。

我可以完全访问源代码和最小的工具链,以便在需要时重新编译应用程序,但由于主要用户的各种(主要是心理)原因,我不允许从头开始重新实现它。

不管怎样,虽然应用程序在 XP 下运行良好,但硬件支持却成了一件苦差事。用户需要更换出现故障的打印机(具有并行接口的旧款 HP)和托管应用程序的 486 (!) 桌面。

现在的主要问题是找到一台可以在 XP 下使用的打印机,可能通过 USB(华硕 EEE Box 是完美的,它不支持并行端口)并使其对 DOS 应用程序“可见” .

到目前为止,我已经找到了一种解决方法:

http://geekswithblogs.net/dtotzke/articles/26204.aspx

加上一些实用程序:

http://www.dosprn.com/ http://www.dos2usb.com/index.htm http://www.printfil.com/english.htm

这些实用程序似乎更好,因为它们为旧的转义序列提供了某种过滤器(例如 ESC/P 用于 Epson 或 HP 方言),从而使打印机透明。 至少他们是这么说的。

所以问题是:有没有人在 XP 下将旧的 DOS 程序与现代打印机连接起来的经验?有什么注意事项吗?您是否使用了列出的实用程序之一(或另一个我还没有找到的实用程序),如果是,您会推荐哪一个?

【问题讨论】:

  • 您的解决方法看起来很熟悉。我将 USB 端口重定向到 LPT1,这通常对我有用。
  • dosprn++,我想还有别的东西,但我不记得了...

标签: windows-xp dos legacy printing dbase


【解决方案1】:

我们通常会完全按照您的链接之一进行操作。也就是说,在 Windows 下将打印机安装在它想要安装自身的任何端口上(即:USB 等)。

接下来,共享打印机(假设工作站名为 COMPUTER1,您的共享名为 HPPRINTER)。

接下来创建一个批处理文件来启动应用程序,它应该如下所示:

net use lpt1 /d
net use lpt1 \\COMPUTER1\HPPRINTER
<yourapp.exe>

在您的应用中将输出设置为 LPT1。

还有其他更复杂的解决方案,但这是迄今为止最简单的。我们仍然有一个多年前构建的 DOS 应用程序,我们仍在积极营销和销售。这就是我们处理打印的方式。它工作得很好。您还可以获得现在使用 Windows 对打印作业进行排队的额外好处,这样您就可以暂停打印机队列等。打印机甚至可以关闭或缺纸,并且作业仍在 Windows 假脱机程序中排队。

警告:假设新打印机支持输出。如果它是“较旧”的 HP LaserJet,那么它可能是 PCL5,只需找到支持 PCL5 的设备即可。

在过滤方面,不确定您为什么需要它。只要输出是 PCL 或 Postscript 或其他标准,那么您仍然应该能够找到支持该打印描述语言的打印机。如果您有疑虑,只需添加有关当前设备的评论,我可以在我们每天处理此问题时提供有关兼容性的想法。

【讨论】:

  • 非常感谢。上周,我乘坐时光机来到了一个 DOS 应用程序仍然存在的地方,你拯救了我的一天;)
猜你喜欢
  • 2022-03-15
  • 2013-03-16
  • 2021-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多