Compact framework SerialPort.GetPortNames()未返回正确的结果

Compact framework SerialPort.GetPortNames()未返回正确的结果,compact-framework,Compact Framework,我正在为WindowsMobile6.1开发一个小的演示应用程序,以获得所有串行端口的列表以及在这些端口上配置的蓝牙设备。我正面临一些奇怪的问题 当我进入设置->连接->蓝牙->COM端口时,我可以看到总共10个COM端口。但是当我使用SerialPort.GetPortNames()获取所有端口时,它显示9个端口,即少一个端口。结果集中不返回最后一个端口,即COM09 然后,我删除了其中一个COM端口(COM08)上配置的一个配对设备,并SerialPort.GetPortNames()返回了

我正在为WindowsMobile6.1开发一个小的演示应用程序,以获得所有串行端口的列表以及在这些端口上配置的蓝牙设备。我正面临一些奇怪的问题

  • 当我进入设置->连接->蓝牙->COM端口时,我可以看到总共10个COM端口。但是当我使用
    SerialPort.GetPortNames()
    获取所有端口时,它显示9个端口,即少一个端口。结果集中不返回最后一个端口,即COM09

  • 然后,我删除了其中一个COM端口(COM08)上配置的一个配对设备,并
    SerialPort.GetPortNames()
    返回了不带COM08端口的结果集

  • 我进一步尝试了解哪些COM端口仍然未使用。当我试图在一个“未使用”(根据我的程序)端口上手动创建“新的传出端口”时,它会给出一条消息说“无法创建COM端口”


  • 有人能告诉我原因并指导我进一步解决问题吗?

    Bluetootch驱动程序可能正在修改驱动程序所在的注册表项,GetPortNames可能正在查看该项


    使用remove registry editor查看HKLM\Drivers\BuiltIn和HKLM\Drivers\Active,看看发生了什么。您可以编写自己的解析器,查看这些值,以了解您的目标。

    我已经浏览了此链接。如果我能了解更多细节和解决方案,那就太好了。