问题描述
我正在使用 '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 (将#修改为@)