打开现金抽屉

本文关键字:现金 | 更新日期: 2023-09-27 18:00:49

我需要在WPF应用程序中打开Cash Drawer,这是我第一次处理Cash Drawers,经过一番搜索,我知道我将使用Microsoft Point of Services。所以我安装了POSforDotNet V1.14,开始了新的项目并添加了参考,我发现了这个例子:

CashDrawer myCashDrawer;
PosExplorer explorer;
public MainWindow()
{
    InitializeComponent();
    this.Loaded += MainWindow_Loaded;
}
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
    explorer = new PosExplorer();
    DeviceInfo ObjDevicesInfo = explorer.GetDevice("CashDrawer");
    myCashDrawer = explorer.CreateInstance(ObjDevicesInfo);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
    myCashDrawer.Open();
    myCashDrawer.Claim(1000);
    myCashDrawer.DeviceEnabled = true;
    myCashDrawer.OpenDrawer();
    myCashDrawer.DeviceEnabled = false;
    myCashDrawer.Release();
    myCashDrawer.Close();
}

你可以在这里下载我的测试应用程序

我试过了,但不起作用:(

在myCashDrawer中给我错误=探索者CreateInstance(ObjDevicesInfo(;线路

请帮我,因为我一直在使用Microsoft Point of Services,而且我还不完全理解它。

打开现金抽屉

您需要键入CashDrawer。我现在更新了你的代码,确保你不会出错。

myCashDrawer = (CashDrawer)explorer.CreateInstance(ObjDevicesInfo);

除了(CashDrawer(铸造,我建议使用

DeviceInfo ObjDevicesInfo = explorer.GetDevice("CashDrawer", "LOGICAL DEVICE NAME for your cash drawer");

如果你安装了多个,而你只使用了一个参数,它会抛出一个错误(而MSPOS v1.14安装了一个假的提款机进行测试,所以你至少有你的物理和那个(。

            System.IO.Ports.SerialPort port = null;
            port = new System.IO.Ports.SerialPort(Program.CashDrawerPort);
            port.PortName = Program.CashDrawerPort;
            port.BaudRate = 9600;
            port.Parity = System.IO.Ports.Parity.None;
            port.DataBits = 8;
            port.StopBits = System.IO.Ports.StopBits.One;
            port.RtsEnable = true;
            try
            {
                port.Open();
                if (port.IsOpen)
                {
                    port.Write("B");
                }
                else
                {
                }
                port.Close();
            }
            catch (Exception exceptionMessage)
            {
            }