Gibt es eine Möglichkeit, virtuelle Drucker von physischen zu unterscheiden?

8

Ich habe eine Liste aller in WinXP verfügbaren Drucker. Ich brauche den Code (idealerweise .NET), um alle virtuellen Drucker aus dieser Liste herauszufiltern. Ist es möglich zu tun? Ich habe alle Eigenschaften der Klasse Win32_Printer wmi analysiert, kann aber keine geeignete Klasse erkennen. Bitte helfen.

    
user280498 24.02.2010, 16:49
quelle

2 Antworten

4

Ich glaube nicht, dass es möglich ist, zumindest mit Sicherheit. Der Sinn eines virtuellen Druckers besteht darin, einen echten so genau wie möglich zu imitieren, so dass alle Unterschiede, die Sie erkennen können, im Grunde nur Fehler im virtuellen Drucker sind.

Das heißt, Sie können einige Vermutungen basierend auf PortName machen. Nur für ein paar Beispiele bezieht sich ein PortName , das eine IP-Adresse enthält oder mit "USB" beginnt, wahrscheinlich auf eine physische Verbindung.

    
Jerry Coffin 24.02.2010 20:20
quelle
3

Ich weiß, dass dies eine alte Frage ist, aber diese Antwort kann für jemanden mit dem gleichen Problem hilfreich sein.

Wenn mein Verständnis eines "virtuellen Druckers" korrekt ist. Sie könnten die WMI-Eigenschaft "PrintProcessor" überprüfen und "winprint" ignorieren. Nach meinem Wissen ignoriert dies alle Windows 7-Software-basierten Druckeroptionen. Hier ist ein Beispielcode, um das zu demonstrieren. Gibt den Druckernamen zurück.

%Vor%     
HiTech 14.11.2014 20:45
quelle

Tags und Links