Drucker-Status

Outsider77

Erfahrenes Mitglied
Hallo zusammen!
Mit folgendem Code lese ich die lokal installierten Drucker und deren Satus aus.
Code:
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim objWMIService As Object
        Dim colPrint As Object
        Dim strprinter As Object
        Dim strpstatus As String
        Dim pstatus As String

        objWMIService = GetObject("winmgmts://./root/cimv2")
        colPrint = objWMIService.execquery("select * from win32_Printer")

        For Each colPrnt In colPrint
            strprinter = colPrnt.caption
            strpstatus = colPrnt.printerstatus

            Select Case strpstatus
                Case 1
                    pstatus = "Fehler"
                Case 2
                    pstatus = "Unbekannt"
                Case 3
                    pstatus = "Bereit"
                Case 4
                    pstatus = "Druckt"
                Case 5
                    pstatus = "Aufwärmen"
                Case 6
                    pstatus = "Druck beendet"
                Case 7
                    pstatus = "Offline"
            End Select

            Me.ListBox1.Items.Add(strprinter)
            Me.ListBox2.Items.Add(pstatus)

        Next
    End Sub

Allerdings verstehe ich nicht, warum mir als Satus "Bereit" angezeigt wird, obwohl der Drucker ausgeschaltet ist.
Hab ich da vielleicht was falsch verstanden? Ich dachte, dann zeigt er "Offline" an.
Der Drucker hängt am parallelen Anschluß.
Oder muß ich das anders abfragen und wenn ja, wie?
Danke schonmal!
Gruß Outi
 
Ich vermute du sprichst damit nur den Spooler an, nicht den Drucker selber. Schau dir mal das hier und das hier an, vielleicht hilft dir das weiter.
 
Zuletzt bearbeitet:
Danke für Deine schnelle Antwort!
Leider erhalten ich bei diesen Beispielen das selbe Ergebnis!
Es muß doch irgendwie möglich sein, den Status "Offline" zu erhalten,
wenn der Drucker ausgeschaltet ist.
Für jede Hilfe bin ich dankbar!

Edit:
Ich habe was von der inpout32.dll gelesen.
Ist es vielleicht damit möglich, den Port oder vielmehr das angeschlossene Gerät "auszulesen"?
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück