Imprimir directamente a LPT1

14/06/2005 - 15:20 por Alfredo Blanco | Informe spam
Hola Foro:
Quisiera saber como puedo mandar a imprimir directamente a la impresora por
medio del puerto LPT1.

Ya que como saben, mandar a imprimir desde Crystal a una impresora
matricial, se vuelve muy lento.

Si tienen algun ejemplo, seria de gran ayuda...

De antemano muchas gracias.
 

Leer las respuestas

#1 Tristan
14/06/2005 - 18:32 | Informe spam
Esto podría ser un ejemplo de uso:

Dim lpt1 As StreamWriter = GetStreamWriter("LPT1")
lpt1.WriteLine("Texto enviado directamente")
lpt1.Close()


En lugar de LPT1, puedes utilizar cualquier otro puerto, por ejemplo de red.



Const GENERIC_WRITE As Int32 = &H40000000
Const OPEN_EXISTING As Int32 = 3

Public Declare Auto Function CreateFile Lib "kernel32.dll" (ByVal lpFileName
As String, ByVal dwDesiredAccess As Integer, ByVal dwShareMode As Integer,
ByVal lpSecurityAttributes As IntPtr, ByVal dwCreationDisposition As
Integer, ByVal dwFlagsAndAttributes As Integer, ByVal hTemplateFile As
IntPtr) As IntPtr

Private Function GetStreamWriter(ByVal port As String) As StreamWriter
Dim hFich As IntPtr = CreateFile(port, GENERIC_WRITE, 0, IntPtr.Zero,
OPEN_EXISTING, 0, IntPtr.Zero)
Dim stream As New FileStream(hFich, FileAccess.Write)
Dim writer As New StreamWriter(stream)
Return writer
End Function


Juan Carlos Badiola
MVP - C#

Preguntas similares