我有一个旧的 Java 程序,它通过将二进制数据发送到 LPT1 端口来处理特殊的卡片打印机(不涉及打印机驱动程序,Java 程序创建二进制流)。
该程序在客户的旧电脑上正常运行。Java 程序将所有字节发送到打印机,在发送最后一个字节后,程序没有被阻塞。又花了一分钟才完成卡片打印,但用户可以继续使用该程序工作。
更换客户端的计算机(但不更换打印机或 Java 程序)后,程序直到卡准备好后才完成任务,而是被阻塞直到最后一秒。
我觉得 LPT1 现在的行为与以前不同。可以在 Windows 中更改此设置吗?我已检查 BIOS 中的并行端口设置:并行端口设置为 EPP+ECP(但也尝试了其他两个选项:双向、仅输出)。也许某种并行端口缓冲区太小了?我该如何增加它?
答案1
请检查防火墙设置和防病毒软件(如果有)?
答案2
打印后台处理程序服务是否已启动?我知道这不太可能,但如果没有后台处理程序,您就会遇到这种情况。
答案3
检查设备管理器中 LPT1 的设置。应该有一些关于后台打印或直接打印的内容,因为嗯建议。
答案4
如果可能的话,请尝试另一件事:右键单击 Java 程序,转到“兼容性”选项卡,然后将兼容模式设置为 Windows 98/ME 或 Windows 95。您也可以尝试 NT4.0 和 2000 模式。