社区
C#
帖子详情
C#操作LPT口发送打印机指令
wch_212
2013-05-15 03:19:03
如题
网上找了很多都不好使,打印机有切纸指令: 16进制 1B 64 00 10进制 27 100 00
试了一些调用c++ 的方法,WriteFile 没发送成指令倒是把指令打印到纸上。
希望不吝赐教 ,谢谢。
...全文
383
4
打赏
收藏
C#操作LPT口发送打印机指令
如题 网上找了很多都不好使,打印机有切纸指令: 16进制 1B 64 00 10进制 27 100 00 试了一些调用c++ 的方法,WriteFile 没发送成指令倒是把指令打印到纸上。 希望不吝赐教 ,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wch_212
2013-05-16
打赏
举报
回复
引用 1 楼 viki117 的回复:
}
指令怎么写?
wch_212
2013-05-16
打赏
举报
回复
问题解决了。
wch_212
2013-05-16
打赏
举报
回复
public bool Write(byte[] mybyte) { if (iHandle != -1) { OVERLAPPED x = new OVERLAPPED(); int i = 0; return WriteFile(iHandle, mybyte, mybyte.Length, ref i, ref x); } else { throw new Exception("不能连接到打印机!"); } } 用的这个发送命令的。
viki117
2013-05-15
打赏
举报
回复
//C#控制打印机(直接发送打印机命令到打印机) //一个打印机控制类,很有用的,其中使用了windows api控制lpt端口,对条码打印机的控制方法如下:将打印机的命令写到一个文件里,再使用之。 //代码: using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace LPTControls { public class LPTControls { [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 nNumberOfBytesToWriter, out int lpNumberOfBytesWriten, out OVERLAPPED lpOverLapped); [DllImport("kernel32.dll")] private static extern bool CloseHandle(int hObject); private int iHandle; //打开LPT 端口 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; OVERLAPPED x; byte[] mybyte = System.Text.Encoding.Default.GetBytes(MyString); return WriteFile(iHandle, mybyte, mybyte.Length, out i, out x); } else { throw new Exception("端口未打开~!"); } } //关闭打印端口 public bool Close() { return CloseHandle(iHandle); } } } //*************************************************************** //使用方法 private void button1_Click(object sender, EventArgs e) { LPTControls.LPTControls lpt = new LPTControls.LPTControls(); string mycommanglines = System.IO.File.ReadAllText("print.txt");//print.txt里写了条码机的命令 lpt.Open(); lpt.Write(mycommanglines); lpt.Close(); }
发送
ZPL
指令
到斑马
打印机
,并监控打印成功或者失败的状态信息
本文共分为两个部分: 第一部分:介绍如何与Zebar进行连接,把ZPL
指令
或者模板文件
发送
到斑马
打印机
进行打印。 第二部分:介绍如何接收Zebar进行打印之后如何得到斑马
打印机
的反馈信息,防止打印出错的情况下继续进行工业的
操作
。需要用上位机得到打印出错的信息,然后反馈给PLC。 一、
C#
将
指令
发送
到Zebar
打印机
的方式
发送
ZPL到
打印机
的参考链接 Zebra Technologies (GitHub Demo)
C#
控制打印的Demo 1、利用winspool
打印机
库函数(
LPT
,US.
lpt
监控安装_
lpt
1(如何在
lpt
1端
口
安装
打印机
)
LPT
就是俗称的并
口
,一般电脑只有一个并
口
,设备管理器里面显示为
LPT
1,
打印机
常见的端
口
就是
LPT
口
和USB
口
,新的主板很多已经取消了板载
LPT
接
口
,还有少数专.是用网线连接电脑的接
口
吗???
LPT
口
打印并
口
老式
打印机
接
口
目前很少有这种接
口
红色 宽的接
口
就是
LPT
接
口
一般连接
打印机
用
LPT
1、
LPT
2、
LPT
3一般用于
打印机
端
口
,游戏手把。有些手机也是使用这些端
口
连接的 你想安装的打印...
C#
通过
LPT
1端
口
控制
打印机
//
C#
控制
打印机
(直接
发送
打印机
命令到
打印机
) //一个
打印机
控制类,很有用的,其中使用了windows api控制
lpt
端
口
,对条码
打印机
的控制方法如下:将
打印机
的命令写到一个文件里,再使用之。 //代码: using System; using System.Collections.Generic; using System.Text; using System.Run...
C#
实现Zebra
打印机
USB端
口
共享与ZPL
指令
高效打印
本文详细介绍了如何在企业环境中通过
C#
实现Zebra
打印机
USB端
口
共享与高效打印。核心方案是通过Windows的NET USE命令将共享的USB
打印机
映射为本地
LPT
端
口
,使
C#
程序能够绕过驱动直接
发送
ZPL
指令
。文章提供了完整的配置步骤、实战代码示例以及ZPL
指令
详解,帮助开发者解决多机共享打印难题,并确保打印稳定可靠。
C#
通过
LPT
控制
打印机
——txt文档读取
指令
打印条码
//
C#
控制
打印机
(直接
发送
打印机
命令到
打印机
) //一个
打印机
控制类,很有用的,其中使用了windows api控制
lpt
端
口
,对条码
打印机
的控制方法如下:将
打印机
的命令写到一个文件里,再使用之。 //该实例从txt文档读取
指令
然后写入到
LPT
1端
口
//代码: using System; using System.Collections.Generic; using System.
C#
111,129
社区成员
642,535
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章