usb口可以斑马打印,钱箱如何能自已弹出.

解决方案 »

  1.   

    是说收款机么?有商家提供的 API 吧
      

  2.   


    #region 打开钱箱
            /// <summary>
            /// 打开钱箱
            /// </summary>
            /// <param name="p_PrintName">打印机名称</param>
            /// <param name="p_Byte">指令</param>
            public static void openMoneyBox(string p_PrintName, byte[] p_Byte)
            {
                if (p_PrintName != null && p_PrintName.Length > 0)
                {
                    IntPtr _PrintHandle;
                    IntPtr _JobHandle = Marshal.AllocHGlobal(100);
                    if (OpenPrinter(p_PrintName, out _PrintHandle, IntPtr.Zero))
                    {
                        ADDJOB_INFO_1 _JobInfo = new ADDJOB_INFO_1();
                        int _Size;
                        AddJob(_PrintHandle, 1, _JobHandle, 100, out _Size);
                        _JobInfo = (ADDJOB_INFO_1)Marshal.PtrToStructure(_JobHandle, typeof(ADDJOB_INFO_1));
                        //System.IO.File.WriteAllBytes(p_PrintName, p_Byte);
                        System.IO.File.WriteAllBytes(_JobInfo.lpPath, p_Byte);                    ScheduleJob(_PrintHandle, _JobInfo.JobID);
                        ClosePrinter(_PrintHandle);
                        Marshal.FreeHGlobal(_JobHandle);
                    }
                }
            }
            #endregion             string str = ((char)27).ToString() + "p" + ((char)0).ToString() + ((char)60).ToString() + ((char)255).ToString();
                byte[] data = System.Text.Encoding.Default.GetBytes(str);
                openMoneyBox(PrintName, data);str 是打开钱箱的指令.钱箱的品牌不同,指令有可能不同.