是否可以從Windows XP上已經使用的COM端口讀取數據?監控已使用的COM端口
我希望看到某些軟件和插入串口設備的設備之間的通信。我用C#編寫了一個小程序來監視COM,但一旦它被另一個設備使用,它就不會讓你再次打開它。如何監視一個COM端口已被使用?
我向第三方軟件開放。
是否可以從Windows XP上已經使用的COM端口讀取數據?監控已使用的COM端口
我希望看到某些軟件和插入串口設備的設備之間的通信。我用C#編寫了一個小程序來監視COM,但一旦它被另一個設備使用,它就不會讓你再次打開它。如何監視一個COM端口已被使用?
我向第三方軟件開放。
PortMon是經典的COM端口監視器。它必須在程序打開COM端口之前運行,但可以啓用/禁用監視部分。
您可以使用Portmon for Windows來監視活動。另一種方式是使用一些硬件和一臺筆記本電腦。我不確定如何使用C#應用程序自己監控它。一旦連接到它並嘗試重新連接,它就會被使用。
還檢查了這一點,這是有點關係,有一張紙條上PortMon是如何工作的:
Serial Port Redirection or Splitting - Stack Overflow
如果你擁有或能得到一個以上的COM端口,你可以使用一個分離器,並從做監控另一個港口。
是的,這在技術上是可行的。您需要一個過濾器驅動程序,一種組件的設備驅動程序類型,它在本機串行端口驅動程序之前自行注入。在將驅動程序發送給普通驅動程序之前,它會在驅動程序IRP中得到一些破解。
這是SysInternals的PortMon實用程序使用的技術。但是,您不能在C#代碼中編寫這樣的驅動程序,CLR不能加載到環0中。至少直到超級祕密Midori項目才能看到白天。
COM過濾器驅動程序很常見,例如查看this one。你必須做一些谷歌搜索找到一個有.NET包裝的。
在其他程序打開COM端口之前運行PortMon的好的remider。 – Bratch 2010-05-18 23:46:09