SerialPort нюхает
У меня есть устройство, которое подключается к компьютеру через USB, которое подключается к виртуальному последовательному порту драйвером и программным обеспечением, которое подключается к этому последовательному порту и позволяет мне управлять устройством. Я не знаю, какое программное обеспечение протокола используется для подключения к устройству. Я мог бы выяснить протокол, посмотрев на связь между устройством и программным обеспечением, но с последовательными портами дело в том, что, как только программное обеспечение подключается к последовательному порту, другие программы также не могут подключиться к этому порту (что, конечно, имеет смысл).
Поэтому я подумал, что смогу написать программу, которая выполняет следующее:
- подключается к виртуальному последовательному порту, на котором находится устройство
- создает виртуальный последовательный порт, к которому будет подключено программное обеспечение
- внутренне переносит все с первого порта на второй и наоборот, но записывает всю эту информацию в некоторый файл дампа
Мой вопрос здесь: возможно ли создать виртуальный последовательный порт с помощью.NET? Я не слышал, потому что вам как-то нужно создать драйвер или что-то еще, и для этого требуется программирование на уровне ядра, верно? И если это все же, есть ли способ, которым я мог бы наблюдать связь между устройством и программным обеспечением без какого-либо связующего программного обеспечения?
Заранее спасибо! Аарон
2 ответа
Вы пробовали Portmon.
Это то, что говорит сайт
это утилита, которая отслеживает и отображает всю активность последовательных и параллельных портов в системе. Он обладает расширенными возможностями фильтрации и поиска, которые делают его мощным инструментом для изучения работы Windows, наблюдения за тем, как приложения используют порты, или отслеживания проблем в конфигурации системы или приложений.
http://technet.microsoft.com/en-us/sysinternals/bb896644
ИЗВЕСТНЫЙ ПРОБЛЕМА: В PortMon v3.03 есть ошибка (см. Здесь), из-за которой в некоторых системах не появляется нужный пункт меню "Компьютер". Одним из обходных путей является подключение к локальной машине в v3.02 до открытия v3.03.
Если меню Capture / Ports неактивно, этот метод работает:
Запустите экземпляр portmon с помощью portmon /c из командной строки. Затем запустите другой, используйте ctrl-r с 127.0.0.1 в качестве адреса для подключения к вашему ПК.