Open "LPT1" For Binary Access Write As #1
     Put #1, , "N" & vbCrLf
     Put #1, , "S2" & vbCrLf
     Put #1, , "D10" & vbCrLf
     'q400是水平位置坐标
     'Q152是182/8=19表示纸的高度
     
     
     Put #1, , "q485" & vbCrLf
     Put #1, , "Q152,24" & vbCrLf
     Put #1, , "ZB" & vbCrLf
     '下面是打印一条直线
     'Put #1, , "LO20,60,300,6" & vbCrLf
     Put #1, , B
     Put #1, , C
     
Close #1

解决方案 »

  1.   

    打印控制码,太亲切了看着 以前用VC 的时候用过好久 好久不用了
    .net 下没一个类可以直接开 com 口,或 LPT 的推荐使用,.net  带的 printDocument 来做打印
    用法和 VC 类似用 CreateFile 打开端口,用句柄实例华 FileStream
    然后就可以写了代码具体忘记了,等那天在看见这贴子还没人会的话,我给你写今天太晚了
      

  2.   

    其实我要真正要实现的是打印条码...
    因为条码机(提供者)给了我一个DLL去打印...
    但我要做是先打开LPT1口,
    再把条码数据发送给它
    然后在调用它的DLL
    去打条码
      

  3.   

    C#-VB语言转换插件
    http://www.kamalpatel.net/convertcsharp2vb.aspx
    http://www.carlosag.net/tools/codetranslator/default.aspx
      

  4.   

    技术交流群号:23266021
    欢迎大家在此讨论关于.net的各种技术。1号群
      

  5.   

    是你找我吗?
    我不知道你要给他传啥参数
    就按你上门的代码翻译一下吧1) API 相关声明public struct SECURITY_ATTRIBUTES
    {
    public int nLength;
    public int lpSecurityDescriptor;
    public int bInheritHandle;
    }
    const uint GENERIC_READ = 0x80000000;
    const uint GENERIC_WRITE = 0x40000000;
    const uint FILE_SHARE_READ = 0x1;const uint INVALID_HANDLE_VALUE = uint.MaxValue;const uint OPEN_EXISTING = 3;[DllImport("kernel32.dll", SetLastError=true,CharSet=CharSet.Auto)] 
    static extern IntPtr CreateFile ( string lpFileName, uint dwDesiredAccess, uint dwShareMode, ref SECURITY_ATTRIBUTES lpSecurityAttributes, uint dwCreationDisposition, uint dwFlagsAndAttributes, uint hTemplateFile); 

    [DllImport("kernel32.dll", SetLastError=true,CharSet=CharSet.Auto)]
    static extern bool CloseHandle( IntPtr hObject);
    2)  写代码private void button1_Click(object sender, System.EventArgs e)
    {
    SECURITY_ATTRIBUTES sa;
    sa.bInheritHandle=0;
    sa.lpSecurityDescriptor =0;
    sa.nLength=0;
    IntPtr pHandle = CreateFile("LPT1", GENERIC_READ | GENERIC_WRITE, 0, ref sa, OPEN_EXISTING, 0, 0); 
    uint u = (uint)pHandle;

    if(u !=INVALID_HANDLE_VALUE)
    {

    using(FileStream fs = new FileStream(pHandle,FileAccess.ReadWrite))
    {

    using(System.IO.StreamWriter sw = new StreamWriter(fs,Encoding.Default))
    {
    sw.WriteLine("N");
    sw.WriteLine("S2");
    }

    } CloseHandle(pHandle);

    }
    }