C#后台调用LPT1端口实现小票机打印方法。

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()
        {

        }
        public POSPrinter(string prnPort)
        {
            this.prnPort = prnPort;//打印机端口
        }
        public string PrintLine(string str)
        {
            IntPtr iHandle = CreateFile(prnPort, 0x50000000, 0, 0, OPEN_EXISTING, 0, 0);
            if (iHandle.ToInt32() == -1)
            {
                Console.WriteLine(iHandle.ToString());
                return "没有连接打印机或者打印机端口不是LPT1";
            }
            else
            {
                Console.WriteLine(iHandle.ToString());
                FileStream fs = new FileStream(iHandle, FileAccess.ReadWrite);
                StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.Default);
                sw.WriteLine("           小票单");
                sw.WriteLine();
                sw.WriteLine(str);
                sw.WriteLine("打印内容");
                sw.WriteLine("---------------------------");

                sw.Close();
                fs.Close();
                return "打印成功!";
            }
        }
    }

  直接调用PrintLine();方法进行打印具体需要的参数和打印格式大家自行调整。

时间: 2024-11-20 12:58:18

C#后台调用LPT1端口实现小票机打印方法。的相关文章

ASP.NET后台调用前台JS函数的三种常见方法

第一种:使用普通的添加控件中的Attributes属性进行调用 例如,像一般的普通的按钮:Button1.Attributes.Add("onclick","MyFun();"); 此方法只能在Onload中或者类似于onload的初始化过程中添加才有效.并且是先执行脚本函数,同时无法改变执行顺序. 第二种:使用Response.Write方法进行调用 例如,像我们经常会使用到的Response.Write("<scripttype='text/ja

C# 使用C/S模式操作小票机打印

此方式适用于市场上大多数的小票机 佳博.POS58 等,不适用于有些标签打印机 比如斑马打印机等 直接贴代码: private FileStream fs = null; [DllImport("kernel32.dll", CharSet = CharSet.Auto)]//调用系统API打印函数 public static extern IntPtr CreateFile ( string FileName, // file name uint DesiredAccess, //

c#后台调用前台与js方法互调

c#后台调用前台与js方法互调 分类: 每天学一点2009-10-22 00:32 1527人阅读 评论(0) 收藏 举报 c#javascript脚本buttonvbscriptstring 很多人都向在服务器端调用客户端的函数来操作,也就是在asp中调用javascript脚本中已经定义好的脚本函数.经过研究,发现了一些勉强的方法. 1. 用Response.Write方法写入脚本 比如在你单击按钮后,先操作数据库,完了后显示已经完成,可以在最后想调用的地方写上Response.Write(

【WP 8.1开发】解决调用真实摄像头会死机的问题

无论你是用Silverlight还是用RT的API来开发,在使用MediaCapture拍照片或录视频时,要是在模拟器上运行会万事大吉:但是,一旦放到真实手机上运行,肯定有人发现了,细心的朋友肯定发现了——不知道为什么,会经常导致手机重启,或者死机. 啊,顺便给大家说说,死机不可怕,也不用重置,也不用刷机,不会丢失资料的,你只要同时按下“音量减”+“电源”两个键,要同时按住,不要放开,大约等10多秒后,会关机,然后你再放开这两个键,这样手机就软启了,不会丢失数据. 不过,如果你的运营商(如中国联

【小白到大牛之路12】交换机后台管理之端口管理的再次优化

项目12交换机后台管理之端口管理的再次优化项目精讲 1.为什么要使用指针 函数的值传递,无法通过调用函数,来修改函数的实参. 2.指针定义 指针是什么 指针本质是一个地址值: #include <stdio.h> int main(void){ int age; //定义了一个指针 //指针是一个变量 //这个变量的名称是 p //这个指针,可以用来指向一个整数! //就是说:p的值是一个整数的地址!!! int * p; //指针p指向了age //p的值,就是变量age的地址 p = &a

后台调用外部程序的完美实现

最近在做的一个软件,其中有一部分功能需要调用其它的软件来完成,而那个软件只有可执行文件,根本没有源代码,幸好,我要做的事不难,只需要在我的程序启动后,将那个软件打开,在需要的时候,对其中的一个文本矿设置一些文字,再点击一个按钮就可以了. 说到这里,相信你也有了对该功能的一些初步设想了,没错,其基本思路就是:1)调用CreateProcess()打开目标程序.2)用FindWindow()找到目标程序的窗口Handle.3)找到文本框的Handle,以及按钮的MessageID,用SendMess

java后台调用url

QXOutStream outPut= new QXOutStream(); qxWorkSheetXML.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); qxWorkSheetXML.append("<ROOT><ROW>"); qxWorkSheetXML.append("<REPORT_MAN>"

C#后台调用前台js(RegisterStartupScript)

C#后台调用前台js代码前台js<script type="text/javascript" language="javascript"> function Ceshi() { var a = "你们好啊!" alert(a); }</script><asp:Button ID="Button1" runat="server" Text="后台调用js" o

.net 调用小票打印机 打印票据

public class PrintInvoice     { #region 01.获得打印机1获得吧台打印机2获得后厨打印机 /// <summary> /// 获得打印机1获得吧台打印机2获得后厨打印机 /// </summary> public TcpClient GetPrint(int n = 1) { var client = new System.Net.Sockets.TcpClient(); var bll = new PrintAndPlaceBll(); v