Пример #1
0
        public void AbrirGaveta()
        {
            try
            {
                byte[] comandos = null;
                switch (printerdriver.impressoraModelo)
                {
                case (byte)ImpressoraModelo.EPSON:
                    comandos = new byte[5] {
                        0x1B, 0x70, 0x00, 0x0A, 0x64
                    };
                    break;

                case (byte)ImpressoraModelo.BEMATECH:
                    comandos = new byte[5] {
                        0x1B, 0x70, 0x00, 0x0A, 0x64
                    };
                    break;

                case (byte)ImpressoraModelo.DARUMA:
                    comandos = new byte[2] {
                        0x1B, 0x70
                    };
                    break;

                case (byte)ImpressoraModelo.ELGIN:
                    comandos = new byte[5] {
                        0x1B, 0x70, 0x00, 0x0A, 0x64
                    };
                    break;

                default:
                    break;
                }

                IntPtr unmanagedPointer = Marshal.AllocHGlobal(comandos.Length);
                Marshal.Copy(comandos, 0, unmanagedPointer, comandos.Length);
                Int32 dwCount = comandos.Length;

                PrinterService.SendBytesToPrinter(printerdriver.DeviceName, "", unmanagedPointer, dwCount);
                Marshal.FreeCoTaskMem(unmanagedPointer);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }