千家信息网

C#中Lpt端口打印类怎么用

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,这篇文章主要介绍C#中Lpt端口打印类怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!C#LPT端口打印类的操作是什么呢?首先让我们看看什么是LPT端口(打印机专用)?LP
千家信息网最后更新 2024年12月12日C#中Lpt端口打印类怎么用

这篇文章主要介绍C#中Lpt端口打印类怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

C#LPT端口打印类的操作是什么呢?首先让我们看看什么是LPT端口(打印机专用)?LPT端口是一种增强了的双向并行传输接口,在USB接口出现以前是扫描仪,打印机最常用的接口。***传输速度为1.5Mbps,设备容易安装及使用,但是速度比较慢,下面是C#LPT端口打印类的操作具体实例:

using System;  using System.Runtime.InteropServices;  using System.IO;  namespace printBarcode  {   ///    /// LPTControl 的摘要说明,C#LPT端口打印类的操作   ///    public class LPTControl    {   public LPTControl()  {}   [StructLayout(LayoutKind.Sequential)]   private struct OVERLAPPED   {    int Internal;    int InternalHigh;    int Offset;    int OffSetHigh;    int hEvent;   }   [DllImport("kernel32.dll")]   private static extern int CreateFile(    string lpFileName,    uint dwDesiredAccess,    int dwShareMode,    int lpSecurityAttributes,    int dwCreationDisposition,    int dwFlagsAndAttributes,    int hTemplateFile    );   [DllImport("kernel32.dll")]   private static extern bool WriteFile(    int hFile,    byte[] lpBuffer,    int nNumberOfBytesToWrite,    ref int lpNumberOfBytesWritten,    ref OVERLAPPED lpOverlapped    );   [DllImport("kernel32.dll")]   private static extern bool CloseHandle(    int hObject    ); //C#LPT端口打印类的操作  private int iHandle;   public bool Open()   {    iHandle=CreateFile("lpt1",0x40000000,0,0,3,0,0);    if(iHandle !=-1)    {   return true;    }    else    {   return false;    }   }   public bool Write(String Mystring)   {    if(iHandle !=-1)    {   int i=0;   OVERLAPPED x=new OVERLAPPED();   byte[]mybyte=  System.Text.Encoding.Default.GetBytes(Mystring);   return WriteFile(  iHandle,mybyte,mybyte.Length,ref i,ref x);    }    else    {   throw new Exception("端口未打开!");    }   }   public bool Close()   {    return CloseHandle(iHandle);   }    }//C#LPT端口打印类的操作  }

以上是"C#中Lpt端口打印类怎么用"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0