Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我们有在 .NET 3.5 框架中开发的工业自动化应用程序。
我必须为我们的用户列出计算机中可用的串行端口。作为其中的一部分,如果任何串行端口已经打开,我必须显示“使用中”状态。我试过谷歌但没有运气。
有人能帮助我吗?
问候,
克里希吉
尝试使用排他锁打开 com 端口,如果失败,将其标记为打开。
有未记录的 API 可以找到系统中打开的所有句柄,然后您可以检查哪些是对串行端口开放的。那是如果用户将始终是管理员并且您不关心使用 .Net 和记录的 API。
有记录的 API 可以找到所有存在的 COM 端口,然后您可以尝试打开所有这些端口。这听起来很粗糙和缓慢,但它比替代方案更不邪恶。