using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.IO; using System.IO.Ports; using System.Collections; namespace devXdemo { /// <summary> /// POSPrinter 的摘要说明。 /// POSPrinter prn = new POSPrinter("LPT3"); /// string str = prn.PrintLine("写端口测试!"); /// </summary> public class POSPrinter { const int OPEN_EXISTING = 3; string prnPort = "LPT3"; [DllImport("kernel32.dll", CharSet = CharSet.Auto)] private static extern IntPtr CreateFile(string lpFileName, int dwDesiredAccess, int dwShareMode, int lpSecurityAttributes, int dwCreationDisposition, int dwFlagsAndAttributes, int hTemplateFile); public POSPrinter() { // // TODO: 在此处添加构造函数逻辑 // } public POSPrinter(string prnPort) { this.prnPort = prnPort;//打印机端口 } public string PrintLine(string str) { // const OPEN_EXISTING = 3; // const GENERIC_READ =&H80000000; // const GENERIC_WRITE = &H40000000; IntPtr iHandle = CreateFile(prnPort, 0x50000000, 0, 0, OPEN_EXISTING, 0, 0); if (iHandle.ToInt32() == -1) { Console.WriteLine(iHandle.ToString()); return "没有连接打印机或者打印机端口不是LPT3"; } else { Console.WriteLine(iHandle.ToString()); FileStream fs = new FileStream(iHandle, FileAccess.ReadWrite); StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.Default); sw.WriteLine(str); sw.WriteLine("持卡人联:"); sw.WriteLine("-------------------------------"); sw.WriteLine(" 浙江生活三六五集团有限公司"); sw.WriteLine("-------------------------------"); sw.WriteLine("商联卡充值服务"); sw.WriteLine("-------------------------------"); sw.WriteLine("服务种类:充值"); sw.WriteLine("充值流水号:3434111321414344311"); sw.WriteLine("卡号: 1234567123456789"); sw.WriteLine("充值时间: " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); sw.WriteLine("服务点: 021"); sw.WriteLine("操作员号: 051"); sw.WriteLine("-------------------------------"); sw.WriteLine("充值金额: 200元"); sw.WriteLine("-------------------------------"); sw.WriteLine(); sw.WriteLine(); sw.WriteLine(); sw.WriteLine(); sw.WriteLine(); sw.WriteLine("存根联:"); sw.WriteLine("-------------------------------"); sw.WriteLine(" 浙江生活三六五集团有限公司"); sw.WriteLine("-------------------------------"); sw.WriteLine("商联卡充值服务"); sw.WriteLine("-------------------------------"); sw.WriteLine("服务种类:充值"); sw.WriteLine("充值流水号:3434111321414344311"); sw.WriteLine("卡号: 1234567123456789"); sw.WriteLine("充值时间: " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); sw.WriteLine("服务点: 021"); sw.WriteLine("操作员号: 051"); sw.WriteLine("-------------------------------"); sw.WriteLine("充值金额: 200元"); sw.WriteLine("-------------------------------"); sw.WriteLine("持卡人签名:"); sw.WriteLine(); sw.WriteLine(); sw.WriteLine(); sw.WriteLine(); sw.WriteLine(); sw.Close(); fs.Close(); return "打印机连接成功"; } } } }
Printer2.cs
最新推荐文章于 2024-08-11 06:50:01 发布