| Blog信息 |
|
blog名称:注册会计师(注会)练习软件 日志总数:398 评论数量:116 留言数量:27 访问次数:3304196 建立时间:2005年6月6日 |

| |
|
c#直接打印 软件技术
吕向阳 发表于 2006/9/11 9:51:44 |
| c#直接打印 #region 声明 using System; using System.Runtime.InteropServices; using System.IO; #endregion namespace LongRuan { /// <summary> /// POSPrinter 的摘要说明。 /// </summary> public class POSPrinter { const int OPEN_EXISTING = 3; string prnPort ="LPT1"; [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) { IntPtr iHandle = CreateFile(prnPort, 0x40000000, 0, 0, OPEN_EXISTING, 0, 0); if(iHandle.ToInt32() == -1) { return "没有连接打印机或者打印机端口不是LPT1"; } else { FileStream fs = new FileStream(iHandle, FileAccess.ReadWrite); StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.Default); //写数据 sw.WriteLine(str); //开钱箱 //sw.WriteLine(Chr(&H1B) & Chr(70) & Chr(0) & Chr(20) & Chr(&HA0)) sw.Close(); fs.Close(); return ""; } } } }
调用方法: LongRuan.POSPrinter prn = new LongRuan.POSPrinter("LPT1"); string str =prn.PrintLine("写端口测试!"); if(str !="") MessageBox.Show(str); |
|
|