procedure USBOpenCashDrawer(PrinterName: String);var // use winspool Handle, hDeviceMode: THandle; N: DWORD; DocInfo1: TDocInfo1; Device, Driver, Port: array [0 .. 255] of char; ThePrinter: string; //superlevin.ifengyuan.tw/tag/code/">code:ansistring;begin ThePrinter := PrinterName; Code := chr(27) + chr(64)+ chr(27) + chr(112) + chr(0) + chr(50) + chr(200); //superlevin.ifengyuan.tw/tag/printer/">Printer.PrinterIndex := Printer.Printers.Indexof(ThePrinter); Printer.GetPrinter(Device, Driver, Port, hDeviceMode); PrinterName := Format('%s', [Device]); if not WinSpool.OpenPrinter(PChar(PrinterName), Handle, nil) then begin // ShowMessage('Error : ' + IntToStr(GetLastError)); Exit; end; with DocInfo1 do begin pDocName := 'Test'; pOutputFile := nil; pDataType := 'RAW'; end; WinSpool.StartDocPrinter(Handle, 1, @DocInfo1); WinSpool.StartPagePrinter(Handle); WinSpool.WritePrinter(Handle, PAnsiChar(Code), Length(Code), N); WinSpool.EndPagePrinter(Handle); WinSpool.EndDocPrinter(Handle); WinSpool.ClosePrinter(Handle);end;
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.042543888092041 seconds