如何检测串口是否在使用.net

我们有在.NET 3.5框架中开发的工业自动化应用程序。

我必须在计算机中为我们的用户列出可用的串行端口。 作为其中的一部分,如果任何一个串行端口已经打开,我必须显示“正在使用”状态。 我试过谷歌,但没有运气。

有人能帮助我吗?

问候,

Krishgy

尝试打开与独占锁的COM端口,如果失败,将其标记为打开。

有没有记录的API来查找系统中打开的所有句柄,然后可以检查哪些句柄对串口是开放的。 这就是如果用户将永远是管理员,并且不关心保持.Net和记录的API。

有记录的API来查找存在的所有COM端口,然后可以尝试打开所有的端口。 这听起来很粗鲁和缓慢,但它比替代方案更坏。