C#控制打印机(直接发送打印机命令到打印机)
2012-12-27 16:28
323 查看
//代码: // 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(); }
一个打印机控制类,很有用的,其中使用了windows api控制lpt端口,对条码打印机的控制方法如下:将打印机的命令写到一个文件里,再使用之。
相关文章推荐
- C#直接发送打印机命令到打印机及ZPL常用打印命令 - 条码打印机
- C#直接发送打印机命令到打印机及ZPL常用打印命令 - 条码打印机
- C#直接发送打印机命令到打印机及ZPL常用打印命令 - 条码打印机
- C#直接发送打印机命令到打印机
- C#直接发送打印机命令到打印机及ZPL常用打印命令 - 条码打印机
- C#直接发送打印机命令到打印机及ZPL常用打印命令 - 条码打印机
- 如何通过使用 VisualC # .NET /VB.NET 向打印机发送数据/控制命令
- 【Debug】双击cpp文件无法直接打开,提示“向程序发送命令时出现问题”
- Java直接控制打印机打印
- AcEdCommand 直接发送CAD自身命令
- AutoCAD.Net/C#.Net QQ群:193522571 AutoCAD向命令栏发送命令
- c#控制打印机杂项
- C#发送邮件时在正文中插入图片(邮件中直接包含图片)
- C#控制DataMax打印机问题总结
- C#发送邮件时在正文中插入图片(邮件中直接包含图片)
- lpr命令_Linux lpr 命令用法详解:将文件发送给指定打印机进行打印
- C#控制DataMax打印机问题总结
- 【转】C#使用ESC指令控制POS打印机打印小票
- 如何通过使用 Visual C#.net 将原始数据发送到打印机
- Unity 2D角色控制脚本C#直接上代码