我使用的是TM U220收据打印机。我正在使用爱普生OPOS ADK的。net和微软PosFor。Net为我开发的收据打印应用程序。
我正试图从设备中获取状态信息,如收据空和收据接近空。但是我总是得到成功的状态,即使打印机里没有收据。
PosPrinter m_Printer; // Name of printer instance.
//Initialisation of printer.
//
m_Printer.Open();
m_Printer.Claim();
m_Printer.Enabled = true;
if(m_Printer.RecEmpty || m_Printer.RecNearEmpty)
{
//Show the status message.
}
上面的代码用于测试这种情况。无论打印机中的接收条件如何,我总是将这些bool值设置为false。请帮我一下。我是否应该做更多的操作来获取这些状态信息。POS
尝试为m_printer对象添加事件处理程序。在这个块上放一个try catch,这样你就可以知道发生了什么!
Epson OPOS改变了这一点,即使在其最新版本(2.80)中也是如此。对于TM-U220型号,我使用以下命令:
启用PowerNotify
m_Printer.PowerNotify = 1
然后获取打印机的Powerstate
Select Case m_Printer.PowerState
Case 2000 'DESCONOCIDO, NO TIENE LA CAPACIDAD, NO HACER NADA
Case 2001 'EN LINEA
Case 2002, 2003, 2004 'APAGADA 'FUERA DE LINEA 'APAGADA
msgbox "check printer"
End Select
这不适用于TM-U950型号。