并口是什么

并行接口:一次传输多个bit。常见25针接口。

并口通信

    /// <summary>/// 并口通信/// </summary>public interface IParallelContact : IPortContact{ActionResult Open(string port);}public class ParallelContact : IParallelContact{public bool Opened { get; set; }private string _port = string.Empty;public const short INVALID_HANDLE_VALUE = -1;public const uint GENERIC_READ = 0x80000000;public const uint GENERIC_WRITE = 0x40000000;public const int OPEN_EXISTING = 3;private int m_lpt = INVALID_HANDLE_VALUE;[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端口打印类的操作 /// <summary>/// Closes this instance.关闭端口句柄/// </summary>public void Close(){if (m_lpt != INVALID_HANDLE_VALUE){CloseHandle(m_lpt);m_lpt = INVALID_HANDLE_VALUE;Opened = false;}}/// <summary>/// Writes the specified data.写入文本数据给打印机输出/// </summary>/// <param name="data">The data.</param>/// <returns></returns>public int Write(string data){if (Opened){byte[] byteData = System.Text.Encoding.Default.GetBytes(data);return this.Write(byteData);}return 0;}/// <summary>/// Writes the specified data.写入控制指令或文本给打印机输出/// </summary>/// <param name="data">The data.</param>/// <returns></returns>public int Write(byte[] data){int BytesWritten = 0;if (data.Length == 0) return BytesWritten;if (Opened){OVERLAPPED overlap = new OVERLAPPED();Thread.Sleep(40);if (WriteFile(m_lpt, data, data.Length, ref BytesWritten, ref overlap)){Thread.Sleep(40);}}return BytesWritten;}/// <summary>/// Opens the specified port.打开指定的并口/// </summary>/// <param name="port">The port.</param>/// <returns></returns>public ActionResult Open(string port){_port = port;m_lpt = CreateFile(port, GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0); //GENERIC_READ | GENERIC_WRITEif (m_lpt == INVALID_HANDLE_VALUE) return new ActionResult(false, "打开端口[" + port + "]失败!");Opened = true;return new ActionResult(true);}}

View Code

并口打印
并口打印仿照串口打印的实现方式,只需传入命令

本人原创,欢迎转载,声明原载

转载于:https://www.cnblogs.com/zzq417/p/Print_ParallelPort.html

POS打印机系列之 = 并口相关推荐

  1. POS打印机系列之 = 网口

    在熟悉了串口.并口打印后,网口打印就容易明白了.与前两者的区别是:网口通过socket通信. /// <summary>/// 网口通信/// </summary>public ...

  2. [转]Java 实现 POS 打印机无驱打印

    来源:http://www.ibm.com/developerworks/cn/java/j-lo-pos/ Java 实现 POS 打印机无驱打印 文档选项 <tr valign=" ...

  3. Java 实现 POS 打印机无驱打印 【转】

    Java 对硬件的控制一直以来都不是其强项,特别是打印,Java 很难实现对 POS 打印机的直接控制,并判断打印是否成功.本文将探讨一种方法,讲述如何使用 Java 技术与网口的 POS 打印机连接 ...

  4. EPSON ESC/POS打印机指令

    原文地址::http://blog.csdn.net/feng88724/article/details/17474351 相关文章 1.微型热敏打印机指令集----https://wenku.bai ...

  5. 我所关心的POS打印机技术参数

    打印机接口:         串行接口:D-SUB 25线插座(孔型),波特率为9600bps,数据结构为无奇偶校验,8位数据位,1位或1位以上停止位,支持RTS/CTS及XON/XOFF握手协议 打 ...

  6. C#版OPOS打印(基于北洋OPOS SDK二次开发包,支持EPSON和北洋、佳博、商祺等支持标准ESC/POS指令的POS打印机)

     C#版OPOS打印 基于北洋OPOS SDK二次开发包,支持EPSON和北洋.佳博.商祺等支持标准ESC/POS指令的POS打印机 支持并口,串口,网口,USB口,驱动方式等多种端口 支持开关钱箱 ...

  7. 用VB开发USB接口POS打印机进行打印和弹钱箱

    用VB开发USB接口POS打印机进行打印和弹钱箱 原来并口打印机编写代码: Open "Lpt1" For Output As #1 Print #1, "打印的内容&q ...

  8. c# 中崎_C#版OPOS打印(基于北洋OPOS SDK二次开发包,支持EPSON和北洋、佳博、商祺等支持标准ESC/POS指令的POS打印机)...

    C#版OPOS打印(基于北洋OPOS SDK二次开发包,支持EPSON和北洋.佳博.商祺等支持标准ESC/POS指令的POS打印机) 收藏 C#版OPOS打印 基于北洋OPOS SDK二次开发包,支持 ...

  9. 基于北洋OPOS SDK二次开发包,支持EPSON和北洋、佳博、商祺等支持标准ESC/POS指令的POS打印机

    C#版OPOS打印 基于北洋OPOS SDK二次开发包,支持EPSON和北洋.佳博.商祺等支持标准ESC/POS指令的POS打印机 支持并口,串口,网口,USB口,驱动方式等多种端口 支持开关钱箱 支 ...

最新文章

  1. C#Arcengine通过坐标点生成面(环形)
  2. 简单-三层-存储过程-增删改四
  3. php 画虚线,HTML5 Canvas绘制圆点虚线实例_html5教程技巧
  4. mfc 消息消息队列概念_必看入门秘籍——解密原理:消息中间件之RabbitMQ
  5. Docker,Docker-Compose,Docker Swarm,Kubernetes之间的区别
  6. 上传文件大小限制,webconfig和IIS配置大文件上传
  7. mybatis oracle 大写,解决mybatis用Map返回的字段全变大写的问题
  8. 基于R树索引的点面关系判断以及效率优化统计
  9. 关于php的函数,总结关于PHP文件函数有哪些
  10. C# 词典数据结构设计【附demo】
  11. [bzoj4516] [SDOI2016]生成魔咒
  12. Gradle里配置jetty实现静态资源的热部署
  13. 《Java 8实战》读书笔记
  14. 如何使用mapinfo对地图分层设色并导出为图片
  15. 项目经理和产品经理的区别
  16. WPF界面样式学习及优化
  17. 微型计算机原理中MOD指令的含义,微机原理习题库含答案
  18. Delphi 华氏度和摄氏度转换(亲测可用)
  19. [附源码]Python计算机毕业设计大学生学科竞赛管理系统
  20. Ultra Light Waterproof Jacket 2014 Warm down Coats Cheap

热门文章

  1. CS224n——lecture3课程导学
  2. 西瓜书——EM算法(一)
  3. C++/C--vector初始化与赋值【转载】
  4. 如何制作一个横版格斗过关游戏 2 Cocos2d x 2 0 4
  5. MobileNet(v1、v2)——CNN经典网络模型详解(pytorch实现)
  6. 备战蓝桥杯—枚举——[USACO Nov08]成交
  7. 最简便的Revit信息导出到数据库本地SQL SERVER
  8. QT中QTableWidget清空或删除内容功能
  9. bme280 环境传感器开发板_半导体所在柔性湿度传感器与非接触控制方面取得进展...
  10. ibiliplayer是什么_Bilibili视频播放页面接口整理(不定期更新)