Es war ein lokaler Drucker in => Systemsteuerung \ Alle Systemsteuerung Elemente \ Geräte und Drucker. und ich löschte es manuell, indem ich auf "Gerät entfernen" klicke. und der Drucker wurde entfernt und erschien nicht mehr.WMI Win32_Printer nicht angezeigt in => Systemsteuerung Alle Systemsteuerung Elemente Geräte und Drucker
die Frage ist, haben wir. NET-Code unten zu überprüfen, ob ein Drucker installiert ist oder nicht. es kehrt wahr zurück. Es scheint, dass der Drucker noch existiert, wenn wir 'SELECT * FROM Win32_Printer' nach Namen auswählen.
Fragen:
1) kann mir jemand mehr Details geben, warum der lokale Drucker Datensatz existiert noch?
2) kann ich dem folgenden Code vertrauen, oder brauche ich möglicherweise mehr Bedingungen, um die Druckerinstallation zu überprüfen?
ManagementScope oManagementScope = new ManagementScope(ManagementPath.DefaultPath);
oManagementScope.Connect();
SelectQuery oSelectQuery = new SelectQuery();
oSelectQuery.QueryString = @"SELECT * FROM Win32_Printer WHERE Name = '" + sPrinterName.Replace("\\", "\\\\") + "'";
using(ManagementObjectSearcher oObjectSearcher = new ManagementObjectSearcher(oManagementScope, oSelectQuery))
{
using(ManagementObjectCollection oObjectCollection = oObjectSearcher.Get())
{
return oObjectCollection.Count > 0;
}
}
ist es schwierig, den Fall zu reproduzieren. Wenn ich den Fall erneut sehe, werde ich die von Ihnen bereitgestellten Tabellen ausprobieren. Danke vielmals. –