如何监听串口而不占用串口

kee_ 2019-07-05 04:32:29
SeriaPort可以监听,但是会占用串口,类似串口精灵这种的监听,相关资料太少了,需要用钩子或写驱动底层去实现,能否提供相关资料或者demo之类的,写驱动这个就算了,咱功力不够。
...全文
3402 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
大佬,实现了这个功能吗?可以分享下吗?
芯雨婷 2019-10-11
  • 打赏
  • 举报
回复
您好 请问最终这个问题您解决了吗
芯雨婷 2019-09-19
  • 打赏
  • 举报
回复
大神 这个问题您怎么解决的是否可以传授一下,谢谢
wanghui0380 2019-07-08
  • 打赏
  • 举报
回复
闲着没事,找了一下相关资料。有关监听bus消息还真没啥资料。 所以大概是两个方向 1.可以使用一些工具跟踪查找AccessPort,bus hound使用的win32api是啥。(这个有工具的,N年前在学校玩CrackMe一类的东西时,就有这类工具,不过出来工作后好多年不玩了,忘了。你可以到看雪学院找找) 2.搜索的资料发现,8成有这类需求的资料都是和我当初那样,在寻找蓝牙,usb这类基于基于标准总线的开发。而usb监控开发这类资料其实到不少nuget,git上开源的项目也不少,可以看看这些东西里有没有直接使用总线消息的项目
XBodhi. 2019-07-08
  • 打赏
  • 举报
回复
COM 口这东西有个 问题是他是半双工通信,而且还是独占,解决这个问题,需要自己实现延时全双工,改造成网络COM口,在COM 操作程序上,加一层网络通信例如 MQTT 或其他 TCP 然后切换即可。这样可以解决无法操作的我呢提。
kee_ 2019-07-06
  • 打赏
  • 举报
回复 1
引用 8 楼 我了个擦啊啊啊 的回复:
AccessPort这个可以监听串口不占用
我知道,但是我不是要这个工具,是要实现这种功能
  • 打赏
  • 举报
回复
AccessPort这个可以监听串口不占用
kee_ 2019-07-05
  • 打赏
  • 举报
回复 1
引用 6 楼 wanghui0380 的回复:
强行回忆了一下,当时用的是“bus hound”这个工具
辛苦辛苦,希望强行回忆不会对您造成啥影响 谢谢了,我有空去找找这个
wanghui0380 2019-07-05
  • 打赏
  • 举报
回复
强行回忆了一下,当时用的是“bus hound”这个工具
wanghui0380 2019-07-05
  • 打赏
  • 举报
回复
可以的,大体是监听总线消息 我偶然找到过这类工具,当然因为我没这种需要,当时没特别关心 大概是在寻找“蓝牙,无线通信”这类资料的时候偶然在一个论坛里找到一个帖子说要监听一下通信,人家给了一个工具,我当时实验了一下还不错,串口,无线鼠标,这类消息都能监听 Ps:大概前年这个时候,本来是想找扩展坞(笔记本几个口子长期插拔都坏了),当时感叹了一下扩展坞太贵,边上一位兄弟说不想插口子,自己做个无线硬盘呗,于是找了一下资料。话说今年我已经看到在京东上有无线移动硬盘卖了。
kee_ 2019-07-05
  • 打赏
  • 举报
回复 1
引用 3 楼 stherix 的回复:
[quote=引用 2 楼 MisterTong 的回复:] [quote=引用 1 楼 stherix 的回复:] 有现成的工具,如果需要自己编程监听的话 其实有个最简单的办法 假设实际串口为COM3 下一个虚拟串口的工具,虚拟2个串口出来比如COM4,COM5,把它们虚拟连起来 然后让别人的软件去打开COM4 你的代码打开COM3,COM5,这样别人写COM4的时候,你能在COM5收到,然后转发给COM3 同理,COM3来的消息你也转发到COM5
使用虚拟串口桥接这个也是需求,并且已经实现,帖子说的是单独一个物理串口在打开后需要监听数据,这个是需要调用api进行处理的,我需要的是使用api监听串口并且不占用的相关资料[/quote] 你在设备和别人的软件中间进行转发,不就可以监听了?fiddler这种http监听工具也是这么做的,在中间做个代理而已 这样不仅可以监听,还可以篡改,阻止数据[/quote] 现在需要的是如果就一个物理串口,在不用虚拟串口的情况下需要去监听
stherix 2019-07-05
  • 打赏
  • 举报
回复
引用 2 楼 MisterTong 的回复:
[quote=引用 1 楼 stherix 的回复:] 有现成的工具,如果需要自己编程监听的话 其实有个最简单的办法 假设实际串口为COM3 下一个虚拟串口的工具,虚拟2个串口出来比如COM4,COM5,把它们虚拟连起来 然后让别人的软件去打开COM4 你的代码打开COM3,COM5,这样别人写COM4的时候,你能在COM5收到,然后转发给COM3 同理,COM3来的消息你也转发到COM5
使用虚拟串口桥接这个也是需求,并且已经实现,帖子说的是单独一个物理串口在打开后需要监听数据,这个是需要调用api进行处理的,我需要的是使用api监听串口并且不占用的相关资料[/quote] 你在设备和别人的软件中间进行转发,不就可以监听了?fiddler这种http监听工具也是这么做的,在中间做个代理而已 这样不仅可以监听,还可以篡改,阻止数据
kee_ 2019-07-05
  • 打赏
  • 举报
回复
引用 1 楼 stherix 的回复:
有现成的工具,如果需要自己编程监听的话 其实有个最简单的办法 假设实际串口为COM3 下一个虚拟串口的工具,虚拟2个串口出来比如COM4,COM5,把它们虚拟连起来 然后让别人的软件去打开COM4 你的代码打开COM3,COM5,这样别人写COM4的时候,你能在COM5收到,然后转发给COM3 同理,COM3来的消息你也转发到COM5
使用虚拟串口桥接这个也是需求,并且已经实现,帖子说的是单独一个物理串口在打开后需要监听数据,这个是需要调用api进行处理的,我需要的是使用api监听串口并且不占用的相关资料
stherix 2019-07-05
  • 打赏
  • 举报
回复
有现成的工具,如果需要自己编程监听的话 其实有个最简单的办法 假设实际串口为COM3 下一个虚拟串口的工具,虚拟2个串口出来比如COM4,COM5,把它们虚拟连起来 然后让别人的软件去打开COM4 你的代码打开COM3,COM5,这样别人写COM4的时候,你能在COM5收到,然后转发给COM3 同理,COM3来的消息你也转发到COM5

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧