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,