CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  硬件/系统

如何知道串口有程序在通讯

楼主xiaoshali(小沙粒)2003-08-04 00:37:34 在 VC/MFC / 硬件/系统 提问

我想做一个监控程序,如果串口有程序开始使用,我希望监控程序能够知道,是否有什么windows消息或机制做到这一点,谢谢 问题点数:100、回复次数:11Top

1 楼jennifergiant(希罗·尤尔)回复于 2003-08-04 08:11:24 得分 0

先up一下Top

2 楼sdudying(sdudying)回复于 2003-08-04 10:20:36 得分 0

设置一个标志,串口打开后置TRUE,你判断后就知道有没有程序在使用串口了。Top

3 楼topYellow(^_^)回复于 2003-08-05 11:55:42 得分 50

xiaoshali   (小沙粒),你想知道是不是有其他程序在使用串口?可以使用CreatFile函数,如果CreatFile函数出错的话,就说明有程序在使用串口了,比如COM1端口  
    m_hCom   =   CreateFile("COM1",GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,0);  
  if(m_hCom   ==   INVALID_HANDLE_VALUE){  
  AfxMessageBox("打开通讯端口错误!");  
                                      flag   =   true;  
  return   FALSE;  
  }  
  如果flag   ==   true的话,说明CreatFile函数出错,那就是有程序在使用串口了(你先得保证你的串口可用,不可用的话,CreatFile函数也会出错),至于监控可以使用TimerTop

4 楼AthlonxpX86(一坨屎)回复于 2003-08-05 22:51:54 得分 0

楼上说的对Top

5 楼xiaoshali(小沙粒)回复于 2003-08-07 20:51:39 得分 0

如果用Timer和定期使用CreatFile好像不是很好,能不能用hook把那个CreatFile函数勾起来,这样就可以不用Timer,并且实时监控性比较好,大家觉得这个想法怎么样,有没有什么问题.Top

6 楼del_c_sharp(武林中传说的摩托牛拉)回复于 2003-08-07 20:52:29 得分 0

对啊,串口是独占的,定时去打开一下串口就知道有没有程序使用它了  
  如果没有人使用,你别忘了close自己的占用哦Top

7 楼xiaoshali(小沙粒)回复于 2003-08-07 21:11:35 得分 0

是不是所有的串口通讯都使用CreatFile来操作,如果不是的话,那么钩子函数就不能获取所有的串口通讯,有没有人知道阿Top

8 楼topYellow(^_^)回复于 2003-08-07 22:02:28 得分 30

监视串口用不着hook,就算你用hook还不是要用到Timer,难道你让它死循环啊。  
  在window下,串口是当作文件来操作的,所以用CreatFile打开串口,用WriteFile发送数据,用ReadFile接受数据Top

9 楼AthlonxpX86(一坨屎)回复于 2003-08-07 22:08:44 得分 0

楼上的不懂HOOK不要乱说,APIHOOK其实是修改了要勾取的函数,一旦那个函数被调用。自己的代码也一起被调用了,所以不需要什么Timer  
  Top

10 楼AthlonxpX86(一坨屎)回复于 2003-08-07 22:13:58 得分 20

多数串口程序(windows)都会用到CreatFile打开串口,所以完全可以Top

11 楼topYellow(^_^)回复于 2003-08-08 09:31:14 得分 0

楼上的hook高手,你觉得xiaoshali   (小沙粒)这种情况用HOOK好吗?我觉得用HOOK好象有点大才小用了^_^,还有如果用HOOK做的话,你会怎么做?如果是我的话,HOOK来截获我自己发送的消息(不会截获鼠标或键盘消息吧),所以我要用Timer定时发送消息了,所以对这个问题,我上面说的好象也没错哦。如果你有更好的办法,还望不吝赐教,先谢了Top

相关问题

  • 求串口通讯程序
  • 求教串口通讯! 关于windows程序通过RS232串口与Dos程序通讯
  • 串口通讯
  • 串口通讯!!!
  • 串口通讯
  • 串口通讯
  • 用纯C语言编写串口通讯的程序
  • tc下如何编写串口通讯程序?
  • 用delphi开发串口通讯程序,使用spcomm组件
  • 求:串口通讯原程序!{createfile()...readfile()..writefile()..}

关键词

  • 函数
  • 消息
  • 串口
  • creatfile
  • 程序
  • 使用
  • hook
  • 出错
  • 知道
  • timer

得分解答快速导航

  • 帖主:xiaoshali
  • topYellow
  • topYellow
  • AthlonxpX86

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo