Printer2.cs

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 "打印机连接成功";





            }
        }
    }

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值