打开现金抽屉
本文关键字:现金 | 更新日期: 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)
{
}