Jep, da war ich auch schon. Grundsätzlich kommte ich damit zu folgendem Code:
Hier die passende Statustabelle.
Es wird mir korrekt angezeigt, wenn mein Drucker online ist und dass der Tonerstatus niedrig ist. Und wenn ich ihn ausmache, kommt korrekt 128 zurück. Allerdings wird für alle anderen Drucker (der im Keller, virtuelle Drucker wie PdfCreator, Microsoft Print To PDF, ...) der Wert 0 zurückgegeben. Und das ist falsch.
VB.NET-Quellcode
- For Each Printer In New ManagementObjectSearcher("SELECT * from Win32_Printer").Get
- Dim PrinterName = Printer.Properties.Cast(Of PropertyData).FirstOrDefault(Function(x) x.Name = "Caption").Value.ToString
- Dim PrinterStatus = Printer.Properties.Cast(Of PropertyData).FirstOrDefault(Function(x) x.Name = "PrinterState").Value
- 'ListBox1.Items.Add($"{PrinterName}: {PrinterStatus}")
- Next
Hier die passende Statustabelle.
Es wird mir korrekt angezeigt, wenn mein Drucker online ist und dass der Tonerstatus niedrig ist. Und wenn ich ihn ausmache, kommt korrekt 128 zurück. Allerdings wird für alle anderen Drucker (der im Keller, virtuelle Drucker wie PdfCreator, Microsoft Print To PDF, ...) der Wert 0 zurückgegeben. Und das ist falsch.
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.