使用WMI,C#检索网络上的打印机列表

时间:2014-04-02 03:49:12

标签: c# printing wmi

我开发了一个打印机搜索应用程序,用于搜索网络上的所有在线打印机。我指的是这个网站 - here

按钮事件处理程序类似于:

private void btnGetPrinters_Click(object sender, EventArgs e)
    {
        // Use the ObjectQuery to get the list of configured printers
        System.Management.ObjectQuery oquery =
            new System.Management.ObjectQuery("SELECT * FROM Win32_Printer");

        System.Management.ManagementObjectSearcher mosearcher =
            new System.Management.ManagementObjectSearcher(oquery);

        System.Management.ManagementObjectCollection moc = mosearcher.Get();

        foreach (ManagementObject mo in moc)
        {
            System.Management.PropertyDataCollection pdc = mo.Properties;
            foreach (System.Management.PropertyData pd in pdc)
            {
                if ((bool)mo["Network"])
                {
                    cmbPrinters.Items.Add(mo[pd.Name]);
                }
            }
        }
    }

但它不起作用。我已经通过线路调试发现((bool)mo [“网络”])cond。返回false。任何人都知道为什么会这样?我检查了我的网络和打印机连接。一切正常。请建议。

0 个答案:

没有答案