请问如何编写一个程序来监视指定串口中读写数据,但是该程序并不占用该串口,别的程序也可以使用该串口?现在有一个项目,需要监视一个其他程序读写串口的动作,我的程序可以监视到该串口的收发,我的程序可以给那个程序发送数据.请高手帮忙啊,先谢谢了:)

解决方案 »

  1.   

    需要写驱动,才能比较完善的监视,网上有些例子,程序,基本上多是用c, c++ 写的。
    有本旧书:串口及语音传真高级编程
    里面就有现成的delphi例子,但代码不大完善,还需要自己调试
      

  2.   

    我现在通过hooh能监视到串口的收发,但是,我怎样在我的程序里面给串口发数据呢?不能用creatfile了,因为对方的程序已经打开了串口.请高手帮忙啊!
      

  3.   

    我现在通过hooh能监视到串口的收发,但是,我怎样在我的程序里面给串口发数据呢?不能用creatfile了,因为对方的程序已经打开了串口.请高手帮忙啊!
      

  4.   

    >>不能用creatfile了,因为对方的程序已经打开了串口
    需要用远程进程注入,就我的知识,进到对方的进程中,在对方的程序空间中执行writefile的操作。
      

  5.   

    看看hook api,注入进程后,拦截creatfile,writefile自己先进行处理
      

  6.   

    现在是可以拦截creatfile,readwritefile,writefile等了,但是,我怎样不通过creatfile,writefile给对方已打开的串口发数据呢?
      

  7.   

    曾经花了一段时间研究,准备写一个“虚拟串口”的程序 。和楼主一样,用的是API HOOK。至于想向对方打开的串口发数据,关键不在于creatfile,也不在于writefile。而是要了解对方的程序是通过什么方式来响应串口数据输入的,是WaitForSingleObject呢,还是WaitCommEvent呢,还是其它
    Syant J. Wang
      

  8.   

    API Hook对应用层是Ok的
    想强大就必须到内核级别的Hook
      

  9.   

    Delphi下深入Windows核心编程这个里面有源程序