C#并口打印类,请做过的帮忙看一下如何该得更合理
类是网上找的,不知是哪位高人写的,我调用的时候使用如下语句:
try
{
LPTControl lpt = new LPTControl();
lpt.Open();
lpt.Write( "打印测试! ");
lpt.Close();
}
catch
{
}
因为是直接操作并口,打印的时候速度非常快,效果还可以。
现在的问题是,如果电脑上没有安装打印机时,执行lpt.Write( "打印测试! ");会非常慢,程序像死了一样(lpt.Open();这句能通过)请问没有安装打印机时程序该如何处理?
使用的类如下,装打印机时效果还可以。
public class LPTControl
{
[StructLayout(LayoutKind.Sequential)]
private struct OVERLAPPED
{
int Internal;
int InternalHigh;
int Offset;
int OffSetHigh;
int hEvent;
}
[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,