using  System; 
using  System.Collections.Generic; 
using  System.Text; 
using  System.Runtime.InteropServices; 
namespace  Barcode_Print 
class  LPTControl 
[StructLayout(LayoutKind.Sequential)] 
private  struct  OVERLAPPED 
int  Internal; 
int  InternalHigh; 
int  Offset; 
int  OffSetHigh; 
int  hEvent; 
generic打印机
[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, 
out  int  lpNumberOfBytesWritten, 
out  OVERLAPPED  lpOverlapped 
); 
[DllImport("kernel32.dll")] 
private  static  extern  bool  CloseHandle( 
int  hObject 
); 
private  int  iHandle; 
public  bool  Open() 
iHandle  =  CreateFile("lpt1",  0x40000000,  0,  0,  3,  0,  0); 
if  (iHandle  !=  -1) 
return  true; 
else 
return  false; 
public  bool  Write(String  Mystring) 
if  (iHandle  !=  -1) 
int  i; 
OVERLAPPED  x; 
byte[]  mybyte  =  System.Text.Encoding.Default.GetBytes(Mystring); 
return  WriteFile(iHandle,  mybyte,  mybyte.Length,  out  i,  out  x); 
else 
throw  new  Exception("端口未打开!"); 
public  bool  Close() 
return  CloseHandle(iHandle); 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。