La Web del Programador: Comunidad de Programadores
 
    Pregunta:  25194 - DETECTAR ERRORES EN IMPRESION DIRECTA AL PUERTO
Autor:  vincenzo colombo
tengo un programa hecho en vb 3.0, el cual utiliza la siguiente instruccion para imprimir directamente al puerto, haciendo que la impresion sea sumamente rapida:

Open "lpt1" For Output As #1
Print #1, "hola"

Mi inquietud es la siguiente

cuando en vb 3.0 la impresora de lpt1 se encuentra apagada, el programa lo detecta con un (on error) sin problema, pudiendo controlar el programa, y realizar un comando, ya sea reintentar,abortar, etc...
Pero recientemente he hecho el mismo programa en vb 5.0, pero no sucede lo mismo, ya imprime perfectamente cuando la impresora está encendida, pero si se encuentra apagada, o fuera de servicio, el programa se bloquea el programa (sin ninguna forma de detectar el error por ningun modo), volviendo el programa funcionar, solo si se enciende la impresora y permite que se descargue el documento.

Existe una forma de detectar que el puerto "lpt1" se encuentra fuera de servicio, o si existe otra forma o metodo de impresion rapida que pudiera usar, ya que el comando (printer.print) es muy lento, porque la impresora hace doble pasadas para la impresion.

  Respuesta:  Arnulfo Aleman
Sencillo amigo , manda todo a un archivo de texto y despue s descarga el archivo a la impresora

open ("c:\salida.txt") for output as #1
print #1,"HOLA"
CLOSE #1

HAS UN ARCHIVO BAT CON LA SIGUINETE INSTRUCCION

@echo off
cd..
type c:\sistema\cheque.txt >lpt1

le pones uun nombre ejemplo salida.bat

y despues del close #1 lo invocas
con un exec("c:\salida.bat")
listo
el archivo se va por al imnpresora y es rapido , contesta haber si te sirvio