PC 重启后 Microsoft OPOS 挂起索赔

问题描述

我正在使用 'Microsoft Point of Service for .NET v1.14。' dll 连接 Posiflex 热敏打印机(PP8800 型号)。 我正在使用的代码片段也粘贴在下面。我正在从 WPF 应用程序运行此代码

但我正面临一个奇怪的问题。如果打印机通电并重新启动连接打印机的机器,下面粘贴的代码将无法声明打印机并且它也不会出现在 Claim() 语句中。而如果我关闭打印机电源,然后在运行以下代码片段之前打开它,则它可以声明打印机。

PosExplorer posExplorer = new PosExplorer();
var printerList = posExplorer.GetDevices(DeviceType.PosPrinter);

foreach (DeviceInfo item in printerList)
{
    if (item.ServiceObjectName != printerName)
        continue;

    posPrinter = (PosPrinter)posExplorer.CreateInstance(item);
    posPrinter.open();

    posPrinter.PowerNotify = PowerNotification.Enabled;
    posPrinter.FlagWhenIdle = true;
    posPrinter.StatusUpdateEvent += PosPrinter_StatusUpdateEvent;
    posPrinter.DirectIOEvent += PosPrinter_DirectIOEvent;
    posPrinter.ErrorEvent += PosPrinter_ErrorEvent;
    posPrinter.OutputCompleteEvent += PosPrinter_OutputCompleteEvent;

    try
    {
        posPrinter.Claim(100);
        if (posPrinter.Claimed)
        {
            isPrinterClaimed = true;                           
        }
        else
        {    
            isPrinterClaimed = false;
        }
    }
    catch (Exception ex)
    {
        isPrinterClaimed = false;
    }

    break;
}

有人在使用 OPOS 库时遇到过同样的问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)