以编程方式更改 COM 端口号

Mat*_*ing 5 windows serial-port com-port

在设备管理器中,我可以右键单击串行设备,导航到端口设置选项卡,单击高级,然后通过下拉菜单更改 COM 端口号。

我需要在大量 PC 上自动执行此步骤。有没有办法编写这个过程的脚本,或者以编程方式来完成?

Jim*_*ell 4

这个问题可能最好在堆栈溢出上问。也就是说,请查看COM 端口数据库中的ComDBReleasePortComDBClaimPort。然而,以编程方式更改 COM 端口分配并不完全被认为是最佳实践。例如,如果另外两个并发应用程序正在争夺相同的 COM 分配,会发生什么情况?

Windows 动态分配 COM 端口号是有充分理由的。理想情况下,您的应用程序应编写为能够搜索所需的特定 COM 端口。这可以通过轮询或使用Windows 管理界面 (WMI)来完成。

如果您引用其他人编写的某些应用程序,并且您只是受制于其他人的程序设计(或缺乏),那么您可能需要考虑添加一个批处理脚本来在启动时修改注册表HKLM\Hardware\DEVICEMAP\SERIALCOMM,因为新值在重新启动之间不太可能保持。

我不知道最后一个选项的效果如何,但如果您是一名认真的PowerShellPython用户,理论上您可以使用任一脚本语言一次性直接访问我在回复开头提到的 API COM端口重新分配。