string str="<A>";
str += "<V>100<H>50<L>0404<XB>1SATO";
str += "<V>350<H>100<B>104250*12345*";
str += "<V>600<H>150<L>0101<XB>1*12345*";
str += "<Q>1";
str += "<Z>"; string LPT = "LPT1";
int hPort = CreateFile(LPT,GENERIC_WRITE,0, 0,OPEN_EXISTING,0,0);
System.IntPtr hPortP = new IntPtr(hPort);
FileStream fs;
fs = new FileStream(hPortP, FileAccess.Write, false); 
StreamWriter writer = new StreamWriter(fs);
writer.AutoFlush = false;
writer.WriteLine(str);
writer.Flush();
writer.Close();
fs.Close();
CloseHandle(hPort);
有发送出去,但打印机没有反应,在已经打印里能找到.是不是指令码写得有问题.

解决方案 »

  1.   

    先把要打印的东西做成文本文档 在用CMD 命令 copy txt LPT1
      

  2.   

    能否详细一点,
    <A>
    <V>100<H>50<L>0404<XB>1SATO
    <V>350<H>100<B>104250*12345*
    <V>600<H>150<L>0101<XB> 1*12345*
    <Q>1
    <Z>比如这是我要打印的内容,我要用C#的一个按钮来实现打印
      

  3.   

    copy txt LPT1   这个方法试过,和我写的代码传过去的一样,已经打印可以找到,但打印机没反应
      

  4.   

    打印机是不是不支持DOS 打印啊
      

  5.   

    string str="<A>";
    str += "<V>100<H>50<L>0404<XB>1SATO";
    str += "<V>350<H>100<B>104250*12345*";
    str += "<V>600<H>150<L>0101<XB>1*12345*";
    str += "<Q>1";
    str += "<Z>";
    这个不用翻译成BASIC语言吗!?我最近也弄这个在VB打印就会但在C#还没验证明天去试下成功再话你知
    不过你成功了也告诉我一声啦!!大家研究研究!!
      

  6.   


    这个你写错了要转回BASIC语言发送才行的!!
    String c, stx, etx;
    c = (char)(27).toString();  stx = (char)(2).toString(); etx = (char)(3).toString();
    StringBuilder SEND = new StringBuilder();
    SEND.Append(stx + c + "A" );
    SEND.Append(c + "H1000" + c + "V0050" + c + "XBSATO");
    SEND.Append(c + "H0350" + c + "V0100" + C + "B102060*12345*" );
    SEND.Append(c + "H0600" + c + "V0150" + c + "XB1*12345*");
    SEND.Append(c + "Q1" + c + "Z" + etx);