如何判断一台机器物理上是否有串口?
我可以尝试打开它,但如果它被另一个程序使用,我会收到错误,我需要能够将这种情况与机器物理上没有串行端口的情况区分开来。
有什么想法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我可以尝试打开它,但如果它被另一个程序使用,我会收到错误,我需要能够将这种情况与机器物理上没有串行端口的情况区分开来。
有什么想法吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
只是为了补充 Serg 答案,
Win32_SerialPort
中使用的类 这篇文章报告了物理COM端口,如果您想枚举包括USB-Serial/COM
端口在内的所有串行端口,则必须使用MSSerial_PortName
code> 类位于root\wmi
命名空间中。有关串行端口的其他信息,请尝试位于同一命名空间中的类
MSSerial_CommInfo
MSSerial_CommProperties
MSSerial_HardwareConfiguration
MSSerial_PerformanceInformation
Just for complement the Serg answer, the
Win32_SerialPort
class used in this article reports the physical com ports, if you wanna enumerate all the serial ports including theUSB-Serial/COM
ports, you must use theMSSerial_PortName
class located in theroot\wmi
namespace.for additional info about the serial ports try the classes located in the same namespace
MSSerial_CommInfo
MSSerial_CommProperties
MSSerial_HardwareConfiguration
MSSerial_PerformanceInformation
您可以使用 WMI。看看我的 旧帖子
You can use WMI. Have a look at my old post
您还可以从注册表中读取:
枚举 Delphi 中的系统 Com 端口列表
You could also read from registry:
Enumerating a List of systems Com Ports in Delphi