Capire se la stampante è disponibile e accesa con VB.NET express 2005

venerdì 03 luglio 2009 - 17.07

ravalon Profilo | Expert

Come faccio a lanciare una stampa solo nel caso che la stampante sia accesa e disponibile ?
Vorrei mandare un messaggio in caso che essa non lo sia.....

luxsor Profilo | Guru

Ciao Stefano,

ho utilizza la classe PRINTER SETTING.

Imports System.Drawing.Printing

Private settings As New PrinterSettings()
Private page As PageSettings

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

comboPrinters.BeginUpdate()
comboPrinters.Items.Clear()
For Each name As String In PrinterSettings.InstalledPrinters
comboPrinters.Items.Add(name)
Next
comboPrinters.EndUpdate()
comboPrinters.SelectedItem = settings.PrinterName
End Sub

Così ottieni l'elenco delle stampanti installate.

Fammi sapere


------------------------
Luxsor

ravalon Profilo | Expert

Ciao e grazie per la risposta....

non è quello che mi serve....cioè....

io uso ReportManager per il mio progetto....non so se conosci....

Funziona meravigliosamente, però capita che se la stampante è spenta ottengo qualche errore sul client e vorrei quindi, non sapere quale è la stampante di default....bensi' controllare che sia accesa e funzionante prima di inviare l'output di stampa....un controllo a monte quindi....

...è possibile ?

ravalon Profilo | Expert

Nessuna idea ?

berto82 Profilo | Newbie

Bisogna utilizzare la struttura PRINTER_INFO_2

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


Chiami la funzione GetPrinterInfo e gli passi il nome della stampante e poi dentro alla struttura PRINTER_INFO_2 trovi il membro status

Puoi trovare informazioni su questi link:

http://support.microsoft.com/kb/160129/it
http://support.microsoft.com/kb/821769/it



Sviluppatore Visual Basic 2005
Sviluppatore Visual Basic 2005 Windows Mobile
Blog: http://blogs.dotnethell.it/bertovbnet/

ravalon Profilo | Expert

ehm.....bello.....però cercavo qualcosa di più semplice da implementare.....se non esiste ringrazio comunque dell'aiuto

berto82 Profilo | Newbie

Scusa ma ti ho postato tutto il codice gia fatto, devi utilizzare la funzione da me scritta!!! Mah....non è mica facile avere sempre la pappa pronta !!!
Sviluppatore Visual Basic 2005


ravalon Profilo | Expert

è semplicemente che se devo far funzionare una cosa senza averla capita preferisco non usarla....quello è un pezzo da copiare e là....come fanno tanti....io non faccio cosi....

Tra l'altro che ci voglia tutto quel codice per capire solo se la stampante è accesa mi sembra un po' troppo....come ai tempi dell'uso delle winApi...

...no, ti ringrazio comunque ma non fa per me....niente di personale eh
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5