我正在为Windows Mobile 6.1开发小型演示应用程序,以获取所有串行端口和配置在其上的蓝牙设备的列表。我面临一些奇怪的问题。
当我转到Settings-> Connections-> Bluetooth-> COM POrts时,我可以看到总共10个COM端口。但是,当我使用SerialPort.GetPortNames()
获取所有端口时,它显示9个端口,即少一个端口。结果集中不返回最后一个端口,即COM09。
然后我删除了其中一个COM端口(COM08)上配置的配对设备之一,SerialPort.GetPortNames()
返回结果集而没有COM08端口。
我进一步试图知道哪些COM端口仍未使用。当我试图在其中一个'未使用'(根据我的程序)端口上手动创建“新传出端口”时,它会显示一条消息“无法创建COM端口”!
有人可以告诉我原因并指导我进一步解决问题吗?
答案 0 :(得分:0)
Bluetootch驱动程序可能正在修改驱动程序所在的注册表项,而GetPortNames可能正在查看该密钥。
使用删除注册表编辑器查看HKLM \ Drivers \ BuiltIn和HKLM \ Drivers \ Active,看看发生了什么。您可以编写自己的解析器,查看这些值以了解您的目标。