SerialPort нюхает

У меня есть устройство, которое подключается к компьютеру через USB, которое подключается к виртуальному последовательному порту драйвером и программным обеспечением, которое подключается к этому последовательному порту и позволяет мне управлять устройством. Я не знаю, какое программное обеспечение протокола используется для подключения к устройству. Я мог бы выяснить протокол, посмотрев на связь между устройством и программным обеспечением, но с последовательными портами дело в том, что, как только программное обеспечение подключается к последовательному порту, другие программы также не могут подключиться к этому порту (что, конечно, имеет смысл).

Поэтому я подумал, что смогу написать программу, которая выполняет следующее:

  1. подключается к виртуальному последовательному порту, на котором находится устройство
  2. создает виртуальный последовательный порт, к которому будет подключено программное обеспечение
  3. внутренне переносит все с первого порта на второй и наоборот, но записывает всю эту информацию в некоторый файл дампа

Мой вопрос здесь: возможно ли создать виртуальный последовательный порт с помощью.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 в качестве адреса для подключения к вашему ПК.

Другие вопросы по тегам