[英]C# ManagementObjectSearcher object container returns null for printers
我有一個奇怪的問題,希望有人能幫助我。 2個月前部署了軟件,沒有任何問題。 現在我回到它,它為以下代碼返回一個無效的類錯誤。 執行所有操作后,它將返回計算機上安裝的所有打印機。
錯誤是searcher.Container = null。 過去是打印機對象列表。 從那以后沒有任何變化,該計算機是使用Visual Studio 2015的64位Windows 7。
public static ObservableCollection<PrinterStatusData> GetAvailablePrinterAndStatus()
{
ObservableCollection<PrinterStatusData> printerStatus = new ObservableCollection<PrinterStatusData>();
ManagementScope scope = new ManagementScope(@"\root\cimv2");
scope.Connect();
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Printer");
foreach (ManagementBaseObject o in searcher.Get())
{
ManagementObject printer = (ManagementObject)o;
if (printer != null)
{
string name = printer["Name"].ToString();
bool available = !printer["WorkOffline"].ToString().ToLower().Equals("true");
printerStatus.Add(new PrinterStatusData(name, available));
}
}
return printerStatus;
}
if (printer["Name"] != null)
{
string name = printer["Name"].ToString();
bool available = !printer["WorkOffline"].ToString().ToLower().Equals("true");
printerStatus.Add(new PrinterStatusData(name, available));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.