Получить список принтеров

&НаКлиенте
Функция ПолучитьМассивПринтеров()
    
    МассивПринтеров = Новый Массив;

    Попытка
        objWMIService = ПолучитьCOMОбъект("winmgmts:\\.\root\CIMV2"); 
    Исключение
        ТекстСообщения = НСтр("ru = 'Список принтеров не доступен!'");
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
        Возврат МассивПринтеров;
    КонецПопытки;
    
    Выборка = objWMIService.ExecQuery("SELECT * FROM Win32_Printer",,48);   
    
    Для Каждого objItem Из Выборка Цикл  
        МассивПринтеров.Добавить(objItem.Caption);
    КонецЦикла;
    
    Возврат МассивПринтеров;
КонецФункции
1
Орфографическая ошибка в winmgmts: winmgmts

Комментарии

bolsun
#1, ред. 01 сентября 2021 15:32

Сергей Пилиповец, в группе ВК, предложил еще такой вариант:


СписокПринтеров = Новый СписокЗначений;

Принтеры = Новый COMОбъект("WScript.Network");

Prn = Принтеры.EnumPrinterConnections();

нн = 0;

КоличествоПринтеров = Prn.Count() - 1;

Пока нн < КоличествоПринтеров Цикл
    СписокПринтеров.Добавить(Prn.Item(нн + 1));
    нн = нн + 2;
КонецЦикла;


См. также

ПолучитьСписокСвойств (БСП)

ВыполнитьКомандуПечатиНаПринтер (БСП)

ПолучитьСписокДоступныхРасширенийВФоне (БСП)

ПолучитьСписокНайденныхРасширенийВФоне (БСП)

ПолучитьСписокРазделовВФоне (БСП)

Получить количество строк динамического списка

ПолучитьКонтактыПоПредмету (БСП)

ПолучитьОбщиеМакетыИнформационныхСсылок (БСП)

ПолучитьСтатусРасширенияВФоне (БСП)

Модератору