admin 管理员组文章数量: 887021
2024年2月24日发(作者:0是偶数吗从哪一年规定的)
C#控制打印机(直接发送打印机命令到打印机)
一个打印机控制类,很有用的,其中使用了windows api控制lpt端口,对条码打印机的控制方法如下:将打印机的命令写到一个文件里,再使用之。
**************************************************************************************************************************************
//代码:
//
using System;
using c;
using ;
using pServices;
namespace LPTControls
{
public class LPTControls
{
[StructLayout(tial)]
private struct OVERLAPPED
{
int Internal;
intInternalHigh;
int Offset;
intOffSetHigh;
inthEvent;
}
[DllImport("")]
private static extern intCreateFile(string lpFileName, uintdwDesiredAccess, intdwShareMode,
intlpSecurityAttributes, intdwCreationDisposition, intdwFlagsAndAttributes, inthTemplateFile);
[DllImport("")]
private static extern boolWriteFile(inthFile, byte[] lpBuffer, intnNumberOfBytesToWriter,
out intlpNumberOfBytesWriten, out OVERLAPPED lpOverLapped);
[DllImport("")]
private static extern boolCloseHandle(inthObject);
privateintiHandle;
//打开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)
{
inti;
OVERLAPPED x;
byte[] mybyte = es(MyString);
return WriteFile(iHandle, mybyte, , out i, out x);
}
else
{
throw new Exception("端口未打开~!");
}
}
//关闭打印端口
public bool Close()
{
return CloseHandle(iHandle);
}
}
}
//*************************************************************************************
//使用方法
private void button1_Click(object sender, EventArgs e)
{
trolslpt = new trols();
string mycommanglines = lText("");//里写了条码机的命令
();
(mycommanglines);
();
}
版权声明:本文标题:C#控制打印机(直接发送打印机命令到打印机) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1708769292h530829.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论