Puertos Paralelos en VB2003

31/12/2006 - 13:03 por manolo | Informe spam
Hola a todos

Tengo un problema con el manejo de los puertos paralelos en vb2003.
Resulta que tengo que enviar directamente al puerto paralelo para imprimir
en una impresora de tickets, y no se como se manejan desde vb.net.
Os agradeceria me dijerais algo sobre el tema.

Un saludo, y gracias de antemano.
Manolo

Preguntas similare

Leer las respuestas

#1 Rodrilobo
31/12/2006 - 20:59 | Informe spam
Amigo Manolo yo deje esa respuesta para VB2005 en en:
http://groups.google.co.cr/group/mi...49899bc3c5


ahi te dejo eso.. es totalmente funcional y si me puedes ayudar con
lo de la cola de impresion...


espero que te sirva
Respuesta Responder a este mensaje
#2 Roberto
02/01/2007 - 11:29 | Informe spam
Yo lo hago así y no tengo con la impresora apagada.
Public Const GENERIC_WRITE = &H40000000
Public Const OPEN_EXISTING = 3
Public Const FILE_SHARE_WRITE = &H2

Public Structure SECURITY_ATTRIBUTES
Private nLength As Integer
Private lpSecurityDescriptor As Integer
Private bInheritHandle As Integer
End Structure
Dim SA As SECURITY_ATTRIBUTES
Dim outFile As FileStream
Dim Safe As Microsoft.Win32.SafeHandles.SafeFileHandle
Public LPTPORT As String
Public hPort As Integer
Public hPortP As IntPtr
Public retval As Integer

Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileA"
(ByVal lpFileName As String, ByVal dwDesiredAccess As Integer, ByVal
dwShareMode As Integer, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES,
ByVal dwCreationDisposition As Integer, ByVal dwFlagsAndAttributes As
Integer, ByVal hTemplateFile As Integer) As Integer

Public Declare Function CloseHandle Lib "kernel32" Alias "CloseHandle"
(ByVal hObject As Integer) As Integer

Public Sub AbrirCajon()
Dim fw As StreamWriter

LPTPORT = "LPT1"
hPort = CreateFile(LPTPORT, GENERIC_WRITE, FILE_SHARE_WRITE, SA,
OPEN_EXISTING, 0, 0)
hPortP = New IntPtr(hPort) 'Convierte Integer to IntPtr
Safe = New Microsoft.Win32.SafeHandles.SafeFileHandle(hPortP, True)
If Not Safe.IsInvalid Then
outFile = New System.IO.FileStream(Safe, IO.FileAccess.Write)
fw = New System.IO.StreamWriter(outFile)
fw.AutoFlush = True
fw.WriteLine(Chr(27) & Chr(112) & 0) 'Genérico Epson
fw.Close()
End If
CloseHandle(hPort)
End Sub

"Rodrilobo" wrote:

Amigo Manolo yo deje esa respuesta para VB2005 en en:
http://groups.google.co.cr/group/mi...49899bc3c5


ahi te dejo eso.. es totalmente funcional y si me puedes ayudar con
lo de la cola de impresion...


espero que te sirva


Respuesta Responder a este mensaje
#3 manolo
07/01/2007 - 13:42 | Informe spam
Gracias Rodrilobo,
perdona que no halla contestado antes, pero he tenido problemas con
Internet.

Un saludo.
Manolo


"Roberto" escribió en el mensaje
news:
Yo lo hago así y no tengo con la impresora apagada.
Public Const GENERIC_WRITE = &H40000000
Public Const OPEN_EXISTING = 3
Public Const FILE_SHARE_WRITE = &H2

Public Structure SECURITY_ATTRIBUTES
Private nLength As Integer
Private lpSecurityDescriptor As Integer
Private bInheritHandle As Integer
End Structure
Dim SA As SECURITY_ATTRIBUTES
Dim outFile As FileStream
Dim Safe As Microsoft.Win32.SafeHandles.SafeFileHandle
Public LPTPORT As String
Public hPort As Integer
Public hPortP As IntPtr
Public retval As Integer

Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileA"
(ByVal lpFileName As String, ByVal dwDesiredAccess As Integer, ByVal
dwShareMode As Integer, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES,
ByVal dwCreationDisposition As Integer, ByVal dwFlagsAndAttributes As
Integer, ByVal hTemplateFile As Integer) As Integer

Public Declare Function CloseHandle Lib "kernel32" Alias "CloseHandle"
(ByVal hObject As Integer) As Integer

Public Sub AbrirCajon()
Dim fw As StreamWriter

LPTPORT = "LPT1"
hPort = CreateFile(LPTPORT, GENERIC_WRITE, FILE_SHARE_WRITE, SA,
OPEN_EXISTING, 0, 0)
hPortP = New IntPtr(hPort) 'Convierte Integer to IntPtr
Safe = New Microsoft.Win32.SafeHandles.SafeFileHandle(hPortP, True)
If Not Safe.IsInvalid Then
outFile = New System.IO.FileStream(Safe, IO.FileAccess.Write)
fw = New System.IO.StreamWriter(outFile)
fw.AutoFlush = True
fw.WriteLine(Chr(27) & Chr(112) & 0) 'Genérico Epson
fw.Close()
End If
CloseHandle(hPort)
End Sub

"Rodrilobo" wrote:

Amigo Manolo yo deje esa respuesta para VB2005 en en:
http://groups.google.co.cr/group/mi...49899bc3c5


ahi te dejo eso.. es totalmente funcional y si me puedes ayudar con
lo de la cola de impresion...


espero que te sirva


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida