首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >监视已在使用的COM端口

监视已在使用的COM端口
EN

Stack Overflow用户
提问于 2010-05-17 22:08:13
回答 4查看 12.6K关注 0票数 4

是否可以从Windows XP上已在使用的COM端口进行读取?

我希望看到一些软件与插入串行设备的设备之间的通信。我用C#写了一个小程序来监控COM,但是一旦它被其他设备使用,它就不会再让你打开它了。如何监控已在使用的COM端口?

我对第三方软件持开放态度。

EN

回答 4

Stack Overflow用户

发布于 2010-05-17 23:18:59

是的,这在技术上是可行的。您将需要一个筛选器驱动程序,这是一种在本机串行端口驱动程序之前注入自身的组件的设备驱动程序类型。在将其发送到常规驱动程序之前,它会在驱动程序IRPs中进行破解。

这是SysInternals的PortMon实用程序使用的技术。但是,您不能用C#代码编写这样的驱动程序,CLR不能加载到环0中。至少在超级秘密的Midori项目重见天日之前不会。

COM筛选器驱动程序非常常见,例如,请查看this one。不过,您必须进行一些谷歌搜索才能找到具有.NET包装器的应用程序。

票数 8
EN

Stack Overflow用户

发布于 2010-05-17 22:12:10

PortMon是经典的COM端口监视器。它必须在程序打开COM端口之前运行,但可以启用/禁用监控部分。

票数 6
EN

Stack Overflow用户

发布于 2010-05-17 22:14:49

您可以使用Portmon for Windows来监视活动。另一种方法是使用一些硬件和一台笔记本电脑。我不确定你怎么能用C#应用程序自己监控它。一旦您连接到它并尝试再次连接,它就已经在使用中。

也可以看看这个,它与PortMon的工作原理有一定的关联:

Serial Port Redirection or Splitting - Stack Overflow

如果您有或可以获得多个COM端口,则可以使用拆分器并从另一个端口进行监视。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2849682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档