Foros del Web » Programación para mayores de 30 ;) » .NET »

cargar impresoras de windows en combo

Estas en el tema de cargar impresoras de windows en combo en el foro de .NET en Foros del Web. alguien sabe como cargar en un combo las impresoras que estén instaladas en windows?¿?...
  #1 (permalink)  
Antiguo 27/08/2011, 04:46
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Pregunta cargar impresoras de windows en combo

alguien sabe como cargar en un combo las impresoras que estén instaladas en windows?¿?
  #2 (permalink)  
Antiguo 27/08/2011, 07:25
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: cargar impresoras de windows en combo

aporto solución
Public Sub cargagridimpresoras()
Dim adapta2 As New OleDbDataAdapter
Dim datavacio As New DataSet

Dim comados = conexion.CreateCommand
comados.CommandType = CommandType.Text

comados.CommandText = "SELECT * FROM ImpresoraPredeterminada"

adapta2.SelectCommand = comados
adapta2.Fill(datavacio, "ImpresoraPredeterminada")

'MessageBox.Show(adapta2.Fill(datavacio, "IntroduccionDeVentasAhora").ToString)


'aquí cargo el datasource y el datamenber del datagrid
DgImpresora.DataSource = datavacio
DgImpresora.DataMember = "ImpresoraPredeterminada"

End Sub
  #3 (permalink)  
Antiguo 27/08/2011, 07:31
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: cargar impresoras de windows en combo

hola guillebomtrasmiti, lo que tu listas ahi es solo datos que has guardado en tu tabla, la solucion real es :
Código vb:
Ver original
  1. Imports System
  2. Imports System.Drawing.Printing
  3.  
  4. Public Class Form1
  5.  
  6.     Private Sub Form1_Load( _
  7.         ByVal sender As System.Object, _
  8.         ByVal e As System.EventArgs) Handles MyBase.Load
  9.  
  10.         Dim pd As New PrintDocument
  11.         Dim Impresoras As String
  12.  
  13.         ' Default printer    
  14.        Dim s_Default_Printer As String = pd.PrinterSettings.PrinterName
  15.  
  16.         ' recorre las impresoras instaladas
  17.        For Each Impresoras In PrinterSettings.InstalledPrinters
  18.             ListBox1.Items.Add(Impresoras.ToString)
  19.         Next
  20.         ' selecciona la impresora predeterminada
  21.        ListBox1.Text = s_Default_Printer
  22.     End Sub
  23. End Class
Fuente : listar impresoras
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #4 (permalink)  
Antiguo 27/08/2011, 07:40
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: cargar impresoras de windows en combo

tienes razón copie el trozo de código equivocado era este..holaaaa amigooo

Public Sub seleccionaimpresora()
Dim pd As New PrintDocument
Dim Impresoras As String

' Default printer
Dim s_Default_Printer As String = pd.PrinterSettings.PrinterName

' recorre las impresoras instaladas
For Each Impresoras In PrinterSettings.InstalledPrinters
ComboImprGes.Items.Add(Impresoras.ToString)
ComboImpWin.Items.Add(Impresoras.ToString)
Next
' selecciona la impresora predeterminada
LbPredeterminada.Text = s_Default_Printer
End Sub
  #5 (permalink)  
Antiguo 27/08/2011, 07:41
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: cargar impresoras de windows en combo

Ahora si va de lujo! Saludos! .
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #6 (permalink)  
Antiguo 27/08/2011, 07:41
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: cargar impresoras de windows en combo

lo que me pasa ahora es que quiero que al pulsar un botón se cambie la impresora predeterminada a una que está en un textbox...y no me lo hace....mira el código por si me puedes ayudarrrrrr graciassss

Dim pdoc As New PrintDocument()
Dim defaultPrinter As String = String.Empty
For Each strPrinter As String In PrinterSettings.InstalledPrinters
If strPrinter <> (TextIMPGes.Text) Then
defaultPrinter = TextIMPGes.Text
Exit For
End If
Next
pdoc.PrinterSettings.PrinterName = defaultPrinter
End Sub
  #7 (permalink)  
Antiguo 27/08/2011, 07:57
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: cargar impresoras de windows en combo

Creo que tu error esta aquí :
Código vb:
Ver original
  1. If strPrinter <> (TextIMPGes.Text) Then
  2. defaultPrinter = TextIMPGes.Text
  3. Exit For
  4. End If
Debería ser igual :
Código vb:
Ver original
  1. If strPrinter.Equals(TextIMPGes.Text) Then
  2. defaultPrinter = TextIMPGes.Text
  3. Exit For
  4. End If
Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #8 (permalink)  
Antiguo 27/08/2011, 08:07
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: cargar impresoras de windows en combo

hacer lo hace bien...pero en windows no cambia...arrggggg
  #9 (permalink)  
Antiguo 27/08/2011, 08:25
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: cargar impresoras de windows en combo

bueno, he encontrado este código que imprime la que yo tengo indiferentemente de la que tiene windows como predeterminada?, pero saca un panel que indica el número de documentos que no quiero que aparezca...sabes como quitarlo?¿?

Dim pd As New PrintDocument()

With pd.PrinterSettings
' Especifico el nombre de la impresora
' por donde deseo imprimir.
'
.PrinterName = TextIMPGes.Text
' Establezco el número de copias que se imprimirán
.Copies = 1
' Rango de páginas que se imprimirán
.PrintRange = PrintRange.AllPages
If .IsValid Then
pd.Print()
Else
MessageBox.Show("La impresora no es válida.", "Aviso GesDreamtPos")
End If
End With

GRACIASSSSSSSSSSSSSS
  #10 (permalink)  
Antiguo 27/08/2011, 16:15
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: cargar impresoras de windows en combo

lo tengo
Dim WshNetwork As Object
Try
WshNetwork = CreateObject("WScript.Network")
WshNetwork.SetDefaultPrinter(TextIMPGes.Text)

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

Etiquetas: combo, impresoras, windows
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:24.