微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

一旦我们将其从 ADK 270 升级到高级驱动程序打印机,声称设备在使用 EPSON TM-T88VI 打印机时无法工作

如何解决一旦我们将其从 ADK 270 升级到高级驱动程序打印机,声称设备在使用 EPSON TM-T88VI 打印机时无法工作

我的 POS 终端已为型号 EPSON TM-T88VI 安装了 Epson 驱动程序 ADK 2.70E。 那时打印机在我的 C++ POS 终端应用程序中工作正常。

注册表包含\HKEY_CLASSES_ROOT\OPOS.POSPrinter 中的键 enter image description here

在设备管理器中, 设备显示在 USB prot 中。 enter image description here

在设备中,它显示在未指定的类别中, enter image description here 从我的应用程序来看,它运行良好,没有任何问题。

  1. 然后我在它上面安装了高级驱动程序版本 APD 512E。
  2. 然后尝试从我使用 C++ 的应用程序打印收据 代码打印不会发生。
  3. 在 claimDevice 函数期间返回 106 的 OPOS 错误

设备管理器, enter image description here

设备, enter image description here

  1. 如果我卸载 Advanced 驱动程序,它在我的应用程序中运行良好,想知道一旦我们将其升级到 Advanced 驱动程序它就无法运行吗?

是否有任何语言兼容性,C++ 与此高级驱动程序不兼容?

解决方法

您应该关注硬件和软件模式设置以及相关的 API,无论是否为 C++。

Advanced Printer DriverOPOS ADK 是独占的,只能使用其中一种设置。

如果要使用OPOS,请从Windows打印机列表和打印机队列中删除TM-T88VI相关信息,并卸载Advanced Printer Driver。

如果您想更新 OPOS,请从上​​面的链接中获取并更新。


回复评论:

根据您评论中的问题。但是,这取决于硬件设置。不能简单地通过改变使用的 API 来处理。

如果您想使用高级打印机驱动程序,您需要使用此实用程序将接口硬件设置从供应商类别更改为打印机类别。
TM-T88VI Utility

然后使用标准的 Windows 桌面打印机 API 进行打印。
Printing (Documents and Printing)

在这种情况下,您将为打印内容的每一页创建图像数据并将其打印为位图数据。

如果您想使用打印机字体打印、剪纸或打开钱箱,您需要创建并嵌入 RawPrinterHelper。
Send raw data to a printer by using the Win32 API
Print Direct To Windows Printer (EPOS Receipt)
How to send page cut command to Epson printer


此外:

您可能不能将其用作评论中的问题。

是驱动程序的行为还是以任何其他方式将设备添加到 qindows 打印机而无需安装 Advance 打印机驱动程序?

为了能够将其用作 Windows 桌面打印机,您需要安装一些打印机驱动程序,即使它不是高级打印机驱动程序。

例如,似乎在 Windows 10 中不再提供它,但在此之前有一个通用的纯文本打印机驱动程序。
您需要安装一些此类驱动程序。

也许如果你安装了windows打印机驱动并创建了一个打印队列,很可能连接端口会在系统启动时被占用,其他人无法使用。

这对应于“3.在 claimDevice 函数期间返回为 106 的 OPOS 错误”的现象。在问题中。


关于:你提到的硬件设置是什么?

这是上述TM-T88VI Utility的接口模式设置。
USB 的打印机类或供应商类。

但是,如果它目前在 OPOS 中可用,则无需考虑。
相反,它不应该被改变。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。