Что нового

Как получить список COM-портов

norkotik

Новичок
Сообщения
9
Репутация
0
Подскажите, как с помощью Autoit получить список com-портов в системе?
если есть возможность то узнать занят он или нет.
 

VladUs

Скриптер
Сообщения
621
Репутация
180
norkotik [?]
как с помощью Autoit получить список com-портов в системе?
Код:
$strComputer = "." 
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") 
$colItems = $objWMIService.ExecQuery( _
    "SELECT * FROM Win32_SerialPort") 
For  $objItem in $colItems 
    ConsoleWrite ("Caption: " & $objItem.Caption & @CRLF)
    ConsoleWrite ("DeviceID: " & $objItem.DeviceID & @CRLF)
    ConsoleWrite ("Status: " & $objItem.Status & @CRLF)
    ConsoleWrite ("PNPDeviceID: " & $objItem.PNPDeviceID & @CRLF)
    ConsoleWrite ("=====================================" & @CRLF)
Next
 
Автор
N

norkotik

Новичок
Сообщения
9
Репутация
0
Спасибо, буду разбираться. С моим уровнем знаний мне не все части пока кода понятны.
скрипт выводит только сом-порт №1, хотя их в системе больше.
 
Автор
N

norkotik

Новичок
Сообщения
9
Репутация
0
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
что делает эта строка?
не могу понять что за путь "\root\CIMV2"
 

pos

Новичок
Сообщения
4
Репутация
0
Сегодня решал эту задачу. И опять же нашел решение через реестр.
Перечень COM-портов тут:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM
Жаль в стандартных функциях AUTOIT убого реализована работа с реестром. Приходится делать экспорт утилитой reg.exe и далее уже работать с полученным текстом.
 
Верх