我在网上找到了两种使用 C# 的方法:
使用 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);
它可以很好地传输条码命令和打印条码,但不能从并口读取状态。
使用 Inpout32.dll:主要有两个功能:
short Inp32(short PortAddress)
void Out32(short PortAddress, short data)
但是参数的类型是short
; 如何一次传输打印命令字符串?