一些背景知识:我使用通过USB连接的Epson TM-T88V收据打印机安装了Epson OPOS for .NET 1.12.20版。它被检测到并且可以从设备管理器中正确打印测试表。
我的问题始于Microsoft Point of Service。它似乎不想连接到打印机甚至承认它的存在。配置xml文件已经自动填充(我认为正确吗?),如下所示:
<?xml version="1.0"?>
<PointOfServiceConfig Version="1.0">
<ServiceObject Type="PosPrinter" Name="TM-T88V">
<Device HardwarePath="TM-T88V" Enabled="yes">
<LogicalName Name="EpsonReceiptPrinter" />
...
</Device>
</ServiceObject>
</PointOfServiceConfig>
然而,当我尝试通过posdm.exe&#34; listdevices&#34;来访问它时,它并没有在现有的物理打印机上接收它,只列出了模拟器。 Posdm.exe显然正在使用这个文件,因为它在我使用&#34; adddevice&#34;时被写入/读取。命令。
我对POS / OPOS编程比较陌生,但我也假设当我尝试使用PosExplorer通过C#访问打印机时,这就是未检测到的原因。
我有什么遗漏会导致POS拒绝连接到我的设备吗?
答案 0 :(得分:4)
经过许多头痛和反复试验后,我找到了一种方法来完成这项工作。
首先,我碰巧偶然发现了这个论坛帖子,这表明目前使用的Epson OPOS驱动程序可能不支持Microsoft PoS 1.14。所以我卸载了它并下载了Pos 1.12。
其次,似乎安装了任何其他Windows驱动程序将使Windows能够抓住该设备并阻止任何其他应用程序使用它。所以,我卸载了默认的Epson驱动程序实用程序。这块智慧来自这里:
http://discuss.joelonsoftware.com/default.asp?dotnet.12.699035.8
这两个变化的组合对我有用。然而,看起来微软的PoS非常挑剔,很多驱动程序都有很多不足之处,所以这可能不是每个人的解决方案。