使用C#枚举网络中的打印机

时间:2013-06-04 04:33:30

标签: c# .net printers

我的电脑连接到局域网,我希望获得我所连接的网络中的所有打印机。 我在代码中尝试了PrinterSettings.InstalledPrinters。它返回我在计算机中配置的打印机。实际上,网络中还连接了2台打印机。我也试过这个代码,

        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"])
                {

                    comboPrinters.Items.Add(pd.Name);
                }
            }
        }
        MessageBox.Show(p);

    }

它也提供相同的输出。我在很多站点搜索但找不到任何解决方案。 有什么建议??

提前致谢。

注意:我们的AD没有得到很好的维护。

0 个答案:

没有答案