有谁知道如何更改Windows映射到USB虚拟COM端口的COM端口号?你可以通过设备管理器改变它,然后点击高级按钮..但是你怎么能通过API,注册表变更或者命令行操作来实现呢?通过注册表,命令行或软件更改COM端口?
有什么想法吗?
有谁知道如何更改Windows映射到USB虚拟COM端口的COM端口号?你可以通过设备管理器改变它,然后点击高级按钮..但是你怎么能通过API,注册表变更或者命令行操作来实现呢?通过注册表,命令行或软件更改COM端口?
有什么想法吗?
您可能会发现这个答案有用:
How do I get the friendly name of a COM port in Windows?
这是寻找友好的名字,但我想你会发现它指向你对注册表的右侧区域,使用“官方”寻找正确密钥的机制。
但是,如果更改端口分配,你也应该更新的COM端口数据库 - 见:https://msdn.microsoft.com/en-us/library/ff546481.aspx
当我不得不做类似的事情,我找到了正确的设备使用的连接,从而描述的机制文章,然后调用SerialDisplayAdvancedSettings((HWND)NULL,hDeviceInfo,& devInfoData);显示高级对话框并让操作系统处理艰苦的工作。
如今,您越来越可能遇到可能存在其他不兼容问题的奇怪“非真实”串行端口(例如USB端口),因此您需要谨慎。
随口说说,我不知道如何做到这一点,但这里是我会做什么:
使用我的电脑/设备管理器的方法来分配一些不可能的COM端口,如61,然后使用注册表编辑器来搜索为COM61,看看设备管理器做了什么。
我知道我已经在注册表的某处看到了所有这些东西,但是对知识库的快速搜索没有找到答案。
我改变COM端口1到110过程中监测注册表变化,发现在以下键修饰:
[HKEY_LOCAL_MACHINE \ HARDWARE \ DEVICEMAP \ SERIALCOMM] “\设备\的Serial0”= “COM110”
[HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Control \ COM Name Arbiter] “ComDB”= hex(3):FC,7F,00,00,00,00,00,00,00,00,00,00,00 ,20,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00
[HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Enum \ ACPI \ PNP0501 \ 1 \ Device Parameters] “PortName”=“COM110”
Thanks for this。幸运的是,我们遇到的问题涉及到一套完全相同的设备,我们只需要为这种类型的个人电脑提供解决方案。我的同事试图按照下面的建议更改注册表,我们设法使其工作。我会保持你的回应安全,但它为未来的使用提供了宝贵的信息。感谢所有回答这个问题的人。 – SparkyNZ 2010-01-05 01:47:15