1

我在网上找到了两种使用 C# 的方法:

  1. 使用 win32 api 中的 CreateFile 和 WriteFile:

    [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 nNumberOfBytesToWrite,
      ref   int lpNumberOfBytesWritten,
      ref   OVERLAPPED lpOverlapped
      );
    iHandle = CreateFile("lpt1 ", 0x40000000, 0, 0, 3, 0, 0);
    byte[] mybyte = System.Text.Encoding.Default.GetBytes(Mystring);
    bool b = WriteFile(iHandle, mybyte, mybyte.Length, ref   i, ref   x);
    

    它可以很好地传输条码命令和打印条码,但不能从并口读取状态。

  2. 使用 Inpout32.dll:主要有两个功能:

    • short Inp32(short PortAddress)
    • void Out32(short PortAddress, short data)

但是参数的类型是short; 如何一次传输打印命令字符串?

4

0 回答 0