Теперь, кто использует мой COM-порт?

7196

Я пытаюсь выяснить, кто блокирует мой COM-порт. Пытался искать, но не мог найти способ выяснить это. Я использую XP.

Интересно, если утилита «Process Explorer» предоставляет что-то для того же, но не может найти что-то полезное.

Есть ли команда, которая показывает все приложения, связанные с определенными COM-портами в системе?

Спасибо

7
Я не думаю, что ты можешь. Для этого нужно всего лишь еще один голос. Powerlord 15 лет назад 0

1 ответ на вопрос

7
Tim Sylvester

Да, в Process Explorer приложение, использующее порт, будет иметь дескриптор «File», называемый \Device\SerialNгде N - индекс, начинающийся с нуля.

Обновить:

«N» в «serialN» - это не номер COM-порта, это индекс в списке активных портов. Если у вас используется только один порт, он всегда будет (?) «Serial0», а второй, который вы откроете, будет «serial1». Если вы откроете их в обратном порядке, цифры будут обратными.

Проверьте API QueryDosDevice . Вы должны быть в состоянии перебрать COM1 ... COM? и получите запись «\ device \ serialN» для каждого открытого порта. Я не знаю об утилите, которая сделает это, вам может понадобиться свернуть свою собственную.

Там в более COM-порт конкретного примера здесь .

Спасибо, рисунок выше означает, что это COM 0? Я подключил HyperTerminal к COM2 и вижу запись как Serial0, так же, как на рисунке выше. 15 лет назад 0
@Manav Нет, это не номер порта. В моем случае это был COM4, ​​который был открыт. Я обновил свой ответ, чтобы устранить это различие. Tim Sylvester 15 лет назад 0