Druckerstatus verlässlich abfragen

03/12/2008 - 18:29 von Mike Küster | Report spam
Hallo,
ich möchte den "echten" Status des Standarddruckers abfragen können,
insbesondere um festzustellen, ob der Drucker überhaupt angeschlossen und
bereit ist. Ich habe schon versucht über die Win32_Printer Klasse (
http://msdn.microsoft.com/en-us/library/aa394363(VS.85).aspx ) an den Status
zu kommen, aber das ist der Status "von dem der Spooler annimmt, dass der
Drucker ihn hat" ...
... ich bekomme als "PrinterStatus" immer 3 = Idle zurück, egal ob der
Drucker an ist, oder nicht. Erst wenn ich etwas versuche zu drucken, dann
bekomme ich erst nach ca. 90 Sekunden den Status 1 = Other:

Dim wmiClass As System.Management.SelectQuery = Nothing
Dim wmiSearcher As System.Management.ManagementObjectSearcher =
Nothing
Dim wmiPrinter As System.Management.ManagementBaseObject = Nothing

' define the wmi printer class
wmiClass = New System.Management.SelectQuery("Win32_Printer")
wmiClass.QueryString = "select * from win32_printer"
wmiSearcher = New
System.Management.ManagementObjectSearcher(wmiClass)
For Each wmiPrinter In wmiSearcher.Get
If
wmiPrinter.GetPropertyValue("Default").ToString.ToLower.Equals("true") Then
Exit For ' wmiPrinter is the default printer now!
End If
Next

strPrinterState =
wmiPrinter.GetPropertyValue("PrinterStatus").ToString
Debug.Print("PrinterStatus:" & strPrinterState)


Welchen Weg kann ich einschlagen, um eine verlàßliche Auskunft über den
Status des Druckers zu bekommen?

Danke,

Mike
 

Lesen sie die antworten

#1 Werner Kistner
04/12/2008 - 08:25 | Warnen spam
Hallo Mike,
siehe www.vbarchiv.net unter "Alle installierten Drucker ermitteln".
Werner

Ähnliche fragen