问题标签 [opos]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - .NET 条码扫描仪 DeviceEnabled 的 POS 未能设置
我目前正在开发一个 .NET 4.5.1 应用程序,它应该使用条码扫描仪来读取二维条码文本。为此,安装并使用了 Microsoft POS for .NET 1.14.1。条形码 sanner (Intermec/Honeywell ED40) 驱动程序已正确安装,OPOS 驱动程序是非托管 OCX。
我使用典型的工作流程在 WinForms 项目中创建扫描仪实例:
如果应用程序使用管理权限启动,一切正常。但是,如果使用普通用户权限启动,则无法启用扫描仪。执行scanner.DeviceEnabled = true
语句时,抛出以下异常:
如果我编译并启动提供的 Microsoft 示例“Microsoft POS Tester”,则会出现同样的问题。但也提供的预编译版本“C:\Program Files (x86)\Microsoft Point Of Service\SDK\Samples\Sample Application\TestApp.exe”目录工作,独立于权限。
我没有在不同的论坛和 .NET 的 POS 文档中找到解决方案。我对 ActiveX 的 Internet Explorer 安全设置做了几次实验,同样的问题。我想,这是其他安全设置,有人知道吗?
环境:
- 视窗 7 专业版 x64
- .NET 4.5.1
谢谢。
编辑:
几个小时后,我找到了原因,是注册表虚拟化。制造商的 OPOS 驱动程序 (OCX) 尝试写入HKLM/Software/Wow6432Node/Intermec子项。因此,该写访问被虚拟化为 HKEY_USERS/[User SID]_Classes/VirtualStore/Machine/Software/Wow6432Node/Intermec。但是虚拟商店里的钥匙不完整,很多值都不见了。
解决方案:
- 删除虚拟存储中的HKEY_USERS/[User SID]_Classes/VirtualStore/Machine/Software/Wow6432Node/Intermec键。
- 为原始HKLM/Software/Wow6432Node/Intermec密钥的 Windows用户组分配完全访问权限。因此,所有用户都访问相同的注册表项。
c# - OPOS Configuration.xml DevicePath 属性
我们使用windows iot 版本来做一个OPOS 的现金抽屉服务对象。我们使用GPIO pin打开钱箱,所以我们使用物理内存地址与系统通信打开我们不知道如何设置POS.NET环境的配置文件的硬件设备路径。有人可以帮助我们处理硬件设备路径问题吗?
HardwarePath="0xFED0C1D8" 是我们的 GPIO 地址,对吗?
opos - 使用相同的 JavaPOS/OPOS 驱动程序连接和打印 2 台或多台相同的热敏打印机?
要求
我创建了一个 POS 应用程序(基于 Java),它需要使用相同的驱动程序连接到至少 2台相同的热敏打印机,打印机应该这样做:
在应用程序启动时>>每台打印机都是
open(),claim(),setDeviceEnable(true)
一次在应用程序停止>> 每台打印机将
setDeviceEnable(false),release(),close()
要在 POSPrinter1 上打印的食品
- 要在 POSPrinter2 上打印的饮料项目
到目前为止我尝试了什么
我创建了两个 POSPrinter 对象
- 启动/声明两台打印机时,应用程序启动期间没有错误
- 使用 POSPrinter1 打印食品时工作正常
尝试使用 POSPrinter2 打印饮品时出现如下所示的错误:
jpos.JposException: 103 at com.sewoo.jpos.POSPrinterService.printNormal(POSPrinterService.java:4130) at jpos.POSPrinter.printNormal(Unknown Source) at util.PrintManager.printOrderingHeaderByPrinter(PrintManager.java:628) at util.PrintManager。 printDrinkByPrinter(PrintManager.java:1359) 在 util.PrintManager.printOrdering(PrintManager.java:1931) 在 util.PrintManager.lambda$print$17(PrintManager.java:1668) 在 ...
问题
因此,虽然在 init/claim 期间发现了两台打印机,但 POSPrinter1 可以在 POSPrinter2 throws 时打印得非常好jpos.POSPrinter.printNormal(Unknown Source)
。我怀疑由于 POSPrinter1 在 POSPrinter2 之前被声明,JavaPOS 驱动程序只连接到 POSPrinter1。那么单个 JavaPOS 驱动程序是否有可能只能与单个设备通信?
为了能够同时与 2 个打印设备通话,我需要安装 2 个 JavaPOS 驱动程序吗?如果是这样,我该如何配置我的应用程序呢?
这可行,但会减慢打印过程
open(),claim(),setDeviceEnable(true)
在打印作业之前连接到任一打印机setDeviceEnable(false),release(),close()
并在打印作业成功运行后断开打印机
但是在每次打印作业后连接/断开连接会大大减慢打印过程。在发送打印作业后,我通常需要等待 3-5 秒才能看到打印机最终打印单据。
c# - 检查钱箱是打开还是关闭
我正在使用带有 WPF 的 c# 开发 POS。我需要检查现金抽屉是否打开,以告诉用户它需要在下一次出售之前关闭。
我的钱箱是一个连接到收据打印机 ECLine 的 dynapos(我没有安装驱动程序,只使用 Windows 的泛型),这台打印机通过 USB 连接到 PC。到目前为止,我可以使用RawPrinterHelper进行打印并使用以下命令打开钱箱:
就像我能够打开钱箱一样,我希望通过发送一些字节来获取它的状态。我找到了这个解决方案,其中说:
要获取抽屉的状态,我需要使用 DLE EOT n
问题是我无法知道字节是否是好的字节,因为RawPrinterHelper
在使用该SendBytesToPrinter
方法时我无法得到响应。
问题:
1) 有没有办法使用 RawPrinterHelper 获得此状态?
2)如果我发送的字节不是正确的,我如何确定哪些是正确的?
3) 我需要为打印机安装驱动程序吗?我读过一些人这样做,但我不想这样做,因为安装我的 POS 的每个地方都有不同的硬件。
c# - 不存在 OPOS 驱动程序的打印机
我正在开发使用 OPOS 进行打印的 POS(在 c# 中),到目前为止,我只发现 Epson 有一个为其任何型号安装 OPOS 的工具,但我还没有找到任何驱动程序或工具来为任何其他型号安装 OPOS打印机品牌(例如:Ec Line 80320)。我的问题是:如果驱动程序不存在,我该怎么做才能使打印机与 OPOS 一起工作?
c# - 如何获得 ResultCodeExtended OPOS?
我正在尝试在 Epson TM-T20II 上打印图像。这是我的代码:
当我运行它时,我得到了下一个错误:
方法 SetBitmap 引发了异常。发生了特定于类的错误情况。错误条件代码在 ResultCodeExtended 属性中可用
我想阅读ResultCodeExtended property
但我找不到如何,我必须配置ErrorEvent
吗?或者它应该如何阅读?
c# - 当前的条码扫描如何输出值?
我使用 Datalogic 公司的 GD4430 手持式扫描仪和随附的 OPOS 驱动程序。使用以下代码,我设法解决了扫描仪问题。当我启动程序时,扫描仪将变为活动状态,您可以进行扫描。但我无法在 TextBox 中显示结果。
有谁看到错误在哪里?
视觉工作室 2010 C#
c# - 下面的 ScanDataLabel 输出如何降价?
条形码阅读器为我提供了以下显示在文本框中的数字字符串7612345203508
。在数字字符串中是以下位置的价格76123452(0350)8
现在我想用这个例子中的点来显示它761234520350 Fr. 03.50
我怎样才能正确地表示这一点?
我的代码如下所示:
VS2010 C#
输出:7612345203508 Fr.03508
谢谢
vb.net - 如何在不终止对齐的情况下禁用爱普生打印机的粗体?
我可以按照说明打印粗体。
我遇到的问题是弄清楚如何禁用粗体,以便列表中打印的下一个项目不带有粗体类型。我不想使用“|N”,因为这会将所有格式设置回正常,包括对齐。完成后如何禁用粗体。我希望能够执行以下操作:
我在找什么
文本1文本 2 文本3
我试过的
上面的例子是用VB编写的。我的最终代码是 C#。
任何答案就足够了,因为我将翻译成 C#。