在我的工作场所,我们使用自己的销售点软件,该软件可与连接到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,如果可能的话,如何修改如何解决它
谢谢。