C#Lpt端口打印类的操作浅析

开发 后端
C#LPT端口打印类的操作是什么呢?C#LPT端口打印类的操作实例具体的实现是什么呢?那么本文就向你介绍具体的内容。

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

  1. using System;  
  2. using System.Runtime.InteropServices;  
  3. using System.IO;  
  4. namespace printBarcode  
  5. {  
  6.  /// <summary>  
  7.  /// LPTControl 的摘要说明,C#LPT端口打印类的操作  
  8.  /// </summary>  
  9.  public class LPTControl   
  10.  {   
  11. public LPTControl()  
  12. {}  
  13.  
  14. [StructLayout(LayoutKind.Sequential)]   
  15. private struct OVERLAPPED   
  16. {   
  17.  int Internal;   
  18.  int InternalHigh;   
  19.  int Offset;   
  20.  int OffSetHigh;   
  21.  int hEvent;   
  22. }   
  23. [DllImport("kernel32.dll")]   
  24. private static extern int CreateFile(   
  25.  string lpFileName,   
  26.  uint dwDesiredAccess,   
  27.  int dwShareMode,   
  28.  int lpSecurityAttributes,   
  29.  int dwCreationDisposition,   
  30.  int dwFlagsAndAttributes,   
  31.  int hTemplateFile   
  32.  );   
  33. [DllImport("kernel32.dll")]   
  34. private static extern bool WriteFile(   
  35.  int hFile,   
  36.  byte[] lpBuffer,   
  37.  int nNumberOfBytesToWrite,   
  38.  ref int lpNumberOfBytesWritten,   
  39.  ref OVERLAPPED lpOverlapped   
  40.  );   
  41. [DllImport("kernel32.dll")]   
  42. private static extern bool CloseHandle(   
  43.  int hObject   
  44.  ); //C#LPT端口打印类的操作  
  45. private int iHandle;   
  46. public bool Open()   
  47. {   
  48.  iHandle=CreateFile("lpt1",0x40000000,0,0,3,0,0);   
  49.  if(iHandle !=-1)   
  50.  {   
  51. return true;   
  52.  }   
  53.  else   
  54.  {   
  55. return false;   
  56.  }   
  57. }   
  58. public bool Write(String Mystring)   
  59. {   
  60.  if(iHandle !=-1)   
  61.  {   
  62. int i=0;   
  63. OVERLAPPED x=new OVERLAPPED();   
  64. byte[]mybyte=  
  65. System.Text.Encoding.Default.GetBytes(Mystring);   
  66. return WriteFile(  
  67. iHandle,mybyte,mybyte.Length,ref i,ref x);   
  68.  }   
  69.  else   
  70.  {   
  71. throw new Exception("端口未打开!");   
  72.  }   
  73. }   
  74. public bool Close()   
  75. {   
  76.  return CloseHandle(iHandle);   
  77. }   
  78.  }//C#LPT端口打印类的操作  
  79. }  

C#LPT端口打印类的操作的具体步骤就向你介绍到这里,希望对你了解C#LPT端口打印类有所帮助。

【编辑推荐】

  1. 全面解析C#实现打印功能
  2. 实现C#打印窗体实例详解
  3. 实现C#打印文档实例详解
  4. C#打印文本文件实例详解
  5. C#打印设置实例解析
责任编辑:仲衡 来源: 博客园
相关推荐

2009-08-26 13:48:31

C#打印条码

2009-08-20 11:07:07

C#共享内存

2009-08-18 15:31:07

C# 操作Excel

2009-08-26 09:54:45

C#打印预览C#打印

2009-07-22 16:27:24

iBATIS配置类iBATIS操作类

2010-01-21 13:48:30

C++基类

2009-08-26 13:36:33

C#打印控件

2009-08-21 17:24:06

C# SingleIn

2009-08-06 14:43:10

C# Calculat

2009-08-21 17:24:06

C# SingleIn

2010-02-03 16:56:20

C++自定义类

2009-08-17 13:34:02

C#异步操作

2009-08-25 15:59:28

C#串口操作

2009-08-21 15:22:56

端口侦听

2009-09-07 06:07:46

C#窗体设计

2009-08-18 13:49:21

C# 操作Excel

2009-09-04 14:52:21

C# FileStre

2009-08-19 10:25:14

C#操作Word

2009-08-27 16:18:47

C#类C#结构体

2010-01-19 10:04:30

C++类
点赞
收藏

51CTO技术栈公众号