Мой критерий - создать приложение, которое найдет все сетевые принтеры, которые установлены / удалены из системы. Вот мой код:
var connectionOpt= new ConnectionOptions();
connectionOpt.Impersonation = ImpersonationLevel.Impersonate;
connectionOpt.EnablePrivileges = true;
string path = "\\\\localhost\\root\\cimv2";
ManagementScope managementScope = new ManagementScope(path, connectionOpt);
managementScope.Connect();
var printerQuery = new ManagementObjectSearcher("SELECT * from Win32_Printer");
foreach (var printer in printerQuery.Get())
{
var name = printer.GetPropertyValue("Name");
var status = printer.GetPropertyValue("Status");
var isDefault = printer.GetPropertyValue("Default");
var isNetworkPrinter = printer.GetPropertyValue("Network");
Console.WriteLine("{0} (Status: {1}, Default: {2}, Network: {3}",
name, status, isDefault, isNetworkPrinter);
}
Console.Read();
Но этот код выше дает мне только все установленные сетевые принтеры, а не те, которые доступны, но удалены из машины. Могу ли я узнать, как обновить этот код для достижения моей цели?