Я не уверен, что этот вопрос находится на правильном сайте stackexchange, потому что это смесь программирования и аппаратного обеспечения. Админ, не стесняйтесь переносить его на другой сайт stackexchange.
Вот проблема:
Я запрограммировал небольшое приложение (C++ MFC), которое считывает вывод GPS (Garmin, выводящий NMEA) через последовательный порт (COM 1). Пока все отлично работает, но для полевых испытаний нам нужно было использовать его на ноутбуке без COM-порта.
Таким образом, мы купили кабель SABRENT USB-to-serial для этапа тестирования. Я установил драйвер кабеля и все было в порядке. Но каждый раз, когда мы отключаем / снова подключаем кабель ИЛИ каждый раз, когда компьютер перезагружается, GPS определяется как последовательная мышь. Когда GPS обнаруживается как последовательная мышь, мышь начинает перемещаться повсюду, щелкая и дважды щелкая случайным образом, вызывая серьезную проблему.
Это никогда не происходило с использованием физического COM-порта на моем компьютере.
Вот решение, которое я прочитал и попробовал, но оно не работает:
- Подключайте USB-кабель только после завершения загрузки компьютера. Кажется, он работает только в том случае, если пользователь не отключает и не подключает USB-кабель. Так как подключение и отключение GPS во время устранения неполадок является очень распространенным явлением, это решение не может быть использовано. Кроме того, подключение после перезагрузки не может быть стабильным решением, так как этот GPS будет постоянно установлен на компьютер в грузовике, который используется техником, который мало знает о компьютерах, я не хочу, чтобы они связывались с ожиданием перезагрузки компьютера перед подключением GPS.
- Добавление ключа SkipEnumerations в реестр для COM-порта, вызывающего ошибку: Это невозможно сделать, потому что каждый раз, когда USB подключен, создается виртуальный COM-порт, а число является довольно случайным (COM6, COM7 и т.д.). Также виртуальный COM-порт отсутствует в реестре.
- Отключить обнаруженную последовательную мышь: это невозможно сделать, потому что, когда мышь обнаружена, я больше не могу контролировать свою обычную мышь, и это полный беспорядок. Как только я отсоединяю USB-кабель, мышь исчезает из диспетчера устройств, поэтому уже слишком поздно.