Есть ли способ .NET перечислить все доступные сетевые принтеры?

Вы также можете использовать input text, i.e:

С компьютера через adb:

adb shell input text 'example\\@email.com'  

Из shell:

input text 'example\\@email.com'  
13
задан Mark Carpenter 19 June 2009 в 13:38
поделиться

3 ответа

нашел этот код здесь

 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]);
                    }
                }
            }

        }

Обновление:

«Эта функция API может перечислить все сетевые ресурсы, включая серверы, рабочие станции, принтеры, общие ресурсы, удаленные каталоги и т. Д.»

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=741&lngWId=10

9
ответ дан 1 December 2019 в 18:13
поделиться

PrinterSettiings.InstalledPrinters должен предоставить вам нужную коллекцию

2
ответ дан 1 December 2019 в 18:13
поделиться

с использованием нового API System.Printing

using (var printServer = new PrintServer(string.Format(@"\\{0}", PrinterServerName)))
{
    foreach (var queue in printServer.GetPrintQueues())
    {
        if (!queue.IsShared)
        {
            continue;
        }
        Debug.WriteLine(queue.Name);
     }
 }
13
ответ дан 1 December 2019 в 18:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: