C#应用程序:在另一台计算机上获取网络共享

时间:2016-12-19 23:44:33

标签: c# networking

首先,道歉,如果这没有意义,和/或已经被问过(虽然搜索没有找到任何东西)。

我有一个应用程序为我们的最终用户设置默认打印机,但我想扩展它,也可以从远程机器安装打印机。

我需要做的是在Form_Load上填充一个包含来自打印服务器的所有网络共享的组合框。

我在黑暗中拍摄,我想知道是否有人可以发光。

1 个答案:

答案 0 :(得分:0)

我相信这有效。

这不是我原来的代码,但我不记得它来自哪里。

using System.Management;

private void btnGetPrinters_Click(object sender, EventArgs e) {

    // Use the ObjectQuery to get the list of configured printers.

    ObjectQuery oquery = new ObjectQuery("SELECT * FROM Win32_Printer");

    ManagementObjectSearcher mosearcher = new ManagementObjectSearcher(oquery);

    ManagementObjectCollection moc = mosearcher.Get();

    foreach (ManagementObject mo in moc)
    {
        PropertyDataCollection pdc = mo.Properties;

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