我在程序开发过程中用到了USB转串口线,但是它虚拟成COM口后端口自动侦测就成了一个问题。在有的笔记本上它被虚拟成了COM17,如果我用程序循环从COM1到COM20,这也太慢了也太蠢了。请问哪位高手可以赐教,用WindowsAPI或者其他一些方式获取Windows的USB转串口所形成的虚拟COM口号!

解决方案 »

  1.   

    winspool.drv 里面提供了 EnumPorts 这个函数,不过可能delphi里面没有声明,你需要自己声明了他再使用。到网上搜索一下关于 EnumPorts 的资料。
      

  2.   

    USB转串口线, 在设备管理中,对应可以设置其端口号,你自己安装时,手动设置一个比较小的,空闲的端口号就可
      

  3.   

    查找注册表的HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM中的所有项目, 这里面列出的是目前所有可用的串口信息。你的USB转COM的设备在里面应该会出现一个与从不同的名称,很容易找到的。
      

  4.   

    HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM