用pos打印机,用c#直接打印怎么做,请指教

haicsharp 2005-03-23 10:06:09
现在写一个餐馆点菜的小票打印,想直接写端口,不知从何下手,请高手指点
...全文
228 点赞 收藏 10
写回复
10 条回复
haicsharp 2005年03月28日
谢谢 panzhu(panzhu)
回复 点赞
panzhu 2005年03月26日
调用方法:

LongRuan.POSPrinter prn = new LongRuan.POSPrinter("LPT1");
string str =prn.PrintLine("写端口测试!");
if(str !="")
MessageBox.Show(str);
回复 点赞
panzhu 2005年03月26日
我写了一个类,希望能帮到你

#region 声明

using System;
using System.Runtime.InteropServices;
using System.IO;

#endregion

namespace LongRuan
{
/// <summary>
/// POSPrinter 的摘要说明。
/// </summary>
public class POSPrinter
{
const int OPEN_EXISTING = 3;
string prnPort ="LPT1";
[DllImport("kernel32.dll", CharSet=CharSet.Auto)]
private static extern IntPtr CreateFile(string lpFileName,
int dwDesiredAccess,
int dwShareMode,
int lpSecurityAttributes,
int dwCreationDisposition ,
int dwFlagsAndAttributes ,
int hTemplateFile);

public POSPrinter()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public POSPrinter(string prnPort)
{
this.prnPort=prnPort;//打印机端口
}
public string PrintLine(string str)
{

IntPtr iHandle = CreateFile(prnPort, 0x40000000, 0, 0, OPEN_EXISTING, 0, 0);
if(iHandle.ToInt32() == -1)
{
return "没有连接打印机或者打印机端口不是LPT1";
}
else
{

FileStream fs = new FileStream(iHandle, FileAccess.ReadWrite);
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.Default); //写数据
sw.WriteLine(str);
//开钱箱
//sw.WriteLine(Chr(&H1B) & Chr(70) & Chr(0) & Chr(20) & Chr(&HA0))
sw.Close();
fs.Close();
return "";
}
}
}
}
回复 点赞
haicsharp 2005年03月24日
现在不知怎么会事,刚开始几行打印不出来,急!
回复 点赞
corbet 2005年03月23日
帮你顶上去!
回复 点赞
lonelydreamsym 2005年03月23日
up
回复 点赞
dshj 2005年03月23日
不会,帮你顶一下
回复 点赞
nga96 2005年03月23日
UP
回复 点赞
心情解码 2005年03月23日
:)







--
回复 点赞
xxuu503 2005年03月23日
搜索Justinio.cs(google)

或者是在csdn文档中心搜索串口类,有直接的串口类给你使!
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.4w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告