5

В диспетчере устройств я могу щелкнуть правой кнопкой мыши последовательное устройство, перейти на вкладку «Параметры порта», нажать «Дополнительно» и изменить номер COM-порта в раскрывающемся меню.

Мне нужно автоматизировать этот шаг на большом количестве компьютеров. Есть ли способ написать этот процесс или сделать это программно?

1 ответ1

3

Этот вопрос, вероятно, лучше всего задать при переполнении стека. Тем не менее, взгляните на ComDBReleasePort и ComDBClaimPort в базе данных COM-порта. Однако изменение назначения COM-порта программным способом не совсем считается лучшей практикой. Например, что произойдет, если еще два одновременно работающих приложения пытаются получить одно и то же назначение COM?

Windows динамически назначает номера COM-портов по уважительной причине. В идеале ваше приложение должно быть написано так, чтобы оно искало конкретный COM-порт, в котором оно нуждается. Это можно сделать с помощью опроса или с помощью интерфейса управления Windows (WMI).

Если вы ссылаетесь на какое-то приложение, написанное кем-то другим, и вы просто застряли с разработкой чужой программы (или ее отсутствием), то вы можете рассмотреть возможность добавления пакетного скрипта для изменения ключа реестра в HKLM\Hardware\DEVICEMAP\SERIALCOMM при запуске, так как новые значения вряд ли будут сохраняться между перезагрузками.

Я не знаю, насколько хорошо будет работать этот последний вариант, но если вы серьезный пользователь PowerShell или Python , вы можете теоретически использовать любой язык сценариев для прямого доступа к API, упомянутым в начале моего ответа, для одноразового использования. Переназначение COM-порта.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .