+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 2 su 2

Elenco stampanti online

  1. #1
    musiclover85 non è in linea Scolaretto
    Post
    135
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao a tutti!
    Sto provando a visualizzare in una listbox l'elenco delle stampanti installate sul computer filtrandole sul loro stato: online / offline.
    Ho provato in questo modo ma praticamente risultano tutte online:

        Private Sub CaricaStampanti()
    
            For Each p As String In System.Drawing.Printing.PrinterSettings.InstalledPrinters
                If isPrinterOnline(p.ToString) Then lstStampanti.Items.Add(p.ToString)
            Next
        End Sub
    
        Private Function isPrinterOnline(ByVal printerName As String) As Boolean
            Dim isOnline As Boolean = False
            Try
                Dim printDocument As New System.Drawing.Printing.PrintDocument()
                printDocument.PrinterSettings.PrinterName = printerName
                isOnline = printDocument.PrinterSettings.IsValid
            Catch ex As Exception
                isOnline = False
            End Try
    
            Return isOnline
        End Function
    
    C'è qualche proprietà particolare che mi sfugge?

  2. #2
    Post
    1,608
    Blogs
    33
    Like Inviati  
    0
    Like Ricevuti  
    0
    Più che appoggiarmi ad un PrintDocument, userei un ManagementObject.

    Anzitutto è necessario aggiungere il Rif. a System.Management, e relativa Imports :

    Imports System.Management
    
    e successivamente si ottiene la lista così :

            Dim searcher As New ManagementObjectSearcher("SELECT * FROM Win32_Printer")
            Dim printerName As String
            For Each printer As ManagementObject In searcher.Get
                printerName = printer("Name")
                If printer("WorkOffline") = True Then
                    ListBox1.Items.Add(printerName & " --> OFFLINE")
                Else
                    ListBox1.Items.Add(printerName & " --> ONLINE")
                End If
            Next
    
    ℹ️ Leggi di più su MarcoGG ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. [Excel 2013] Ottenere elenco stampanti
    Da Sgrubak nel forum Microsoft Excel
    Risposte: 10
    Ultimo Post: 22-02-2021, 17:14
  2. Stampanti in rete
    Da Pasca nel forum Visual Basic 6
    Risposte: 12
    Ultimo Post: 30-04-2018, 15:05
  3. Stampare su due stampanti
    Da kromax nel forum Visual Basic .Net
    Risposte: 4
    Ultimo Post: 05-02-2011, 17:42
  4. Stampanti & . . . C
    Da PIERFOIS nel forum Microsoft Windows
    Risposte: 3
    Ultimo Post: 29-05-2008, 11:15
  5. Scrittura gioco online tipo ULTIMA ONLINE .. (ve lo ricordate?)
    Da Davy Bartoloni nel forum Altri linguaggi e strumenti
    Risposte: 0
    Ultimo Post: 22-08-2006, 10:29