Можно ли узнать имена всех имеющихся принтеров используя только WScript?
Принтера лежат в реестре, но проблема в том, что нужно считать все ключи в ветке (что-то типа EnumKeys), однако енума в объекте Wscript.Shell нет. Подходящего метода тоже не нашел. Может кто поможет?
Код:
wmic printer get /?
На мой взгляд это проще всего. Кроме того можно "обернуть" в батник для подсчета или форматирования вывода.
Хотелось бы конечно что-то вроде удобоваримого КОМ-объекта, но в принципе и это пойдет, если ничего не найду. Спасибо
Код:
ServicesSet = CreateObject("winmgmts:{impersomationLevel=impersonate}!\\" + <ИмяКомпьютера> + "\root\cimv2")
Printers = ServicesSet.ExecQuery("SELECT * FROM Win32_Printer")
For Each Item From Items
MsgBox Item.Name
Next
Printers = ServicesSet.ExecQuery("SELECT * FROM Win32_Printer")
For Each Item From Items
MsgBox Item.Name
Next
Цитата: Andreika
Требуется узнать имена всех принтеров, установленных в системе, используя только стандарные КОМ-Объекты виндовс (WScript или Scripting)
Код:
Dim objWsNet, objCollection, strList
CreateObject("WScript.Network")
objWsNet.EnumPrinterConnections
For i = 0 To objCollection.Count - 1 Step 2
strList = strList & objCollection.Item(i + 1) & vbNewLine
Next
Set objCollection =
Set objWsNet = Nothing
WScript.Echo strList
WScript.Quit 0
CreateObject("WScript.Network")
objWsNet.EnumPrinterConnections
For i = 0 To objCollection.Count - 1 Step 2
strList = strList & objCollection.Item(i + 1) & vbNewLine
Next
Set objCollection =
Set objWsNet = Nothing
WScript.Echo strList
WScript.Quit 0