用C ++打开CashDrawer

时间:2017-10-25 23:09:10

标签: c++ c++builder epson

在我的工作场所,我们使用自己的销售点软件,该软件可与连接到3nStar Mini Cashdrawers的Epson Printers TM-U950配合使用。到目前为止,当涉及现金时,软件会向打印机发送命令以打开CashDrawer。

以下是代码:

void M::OpenDrawer()
{
    FILE *stream;
    try {
        stream = fopen("LPT1", "w");
        fprintf(stream, "%c%c%c%c%c", char(27), char(112), char(0), char(50), char(250));
        fclose(stream);
    } catch(Exception &E) {
        Application->ShowException(&E);
        fclose(stream);
    }
}

我们的POS软件一直在使用Windows XP,但我们已经设法更新它以便它可以在Windows 10上运行。但是,上一个命令不起作用。安装TM-U950时,与使用现有LPT1端口的Windows XP不同,在Windows 10上,它会创建自己的端口ESDPRT001。我尝试从

更改代码
stream = fopen("LPT1", "w");

stream = fopen("ESDPRT001", "w");

但它不会打开Cashdrawer。我已经搜索了几个网站来验证epson命令是否已经改变,或者我们是否真正使用了正确的命令,我们是。 (见http://www.itsmetor.com/wp/epson-esc-commands/

长话短说,我需要帮助确定在向LPT1端口发送直接命令时该函数是否正确使用,因此它可以打开Cashdrawer,如果可能的话,如何修改如何解决它

谢谢。

0 个答案:

没有答案