有一软件(PB做成的),用C#能不能监听它工作时产生的数据包这个软件是把数据写到db1.bin这个文件里的,有没有可能监听它每次写数据时的数据!哪位朋友有这方面的例子的,方便的就请给你源码参考一下!

解决方案 »

  1.   

    可以用System.IO.FileSystemWatcher监测文件的变化,然后比较前后的数据变化,不知能否达到要求
      

  2.   

    to:jialiang(≈≈逆水行舟≈≈) 先谢谢楼上的兄弟!你说的是查看db1.bin文件是否有变化是吧,我现在就是这样做的,不过是用vb写的!
    我现在的要求是,不用理db1.bin!就是直接拦截它产生的数据包取得其中需要的数据,不知道我的想法能否实现!
      

  3.   

    to:jialiang(≈≈逆水行舟≈≈) 用你说的那种方法,即直接访问文件,还有一个问题,可能那个软件的db1.bin文件被该软件独占了,只要那个软件运行时,就无法读取(连Copy都不行),除非把那个软件关掉才行!
    请问,如果文件被独占了,是不是没有办法正常读取其内容呢????
      

  4.   

    你描述的情况是典型的hook操作使用的环境
    查查win32的api帮助,Hook应该可以满足你的要求
      

  5.   

    这个问题很简单, HOOK API FILEREAD OR FILEWRITE 就行了,你需要再判断一下目标及父就行了
      

  6.   

    gyyshuai(师无横) ,coolksj(coolksj)
    两位能不能说清楚点呀,小弟水平有限滴!!
      

  7.   

    用win32钩子吧。只知道应该这么做,不知道具体怎么hook
      

  8.   

    这是一篇用vb.net写的关于调用钩子的文章。
    http://dev.csdn.net/article/34/34231.shtm
    不是针对你这个问题的,但是你可以从这儿学习怎么调用钩子。
    如果要满足你的需求,你需要看win32的api帮助,看看SetWindowsHookEx这个api的说明