有一个别人的C#程序,我想在他的执行期里获取DATAGRID里的内容,谁可以给一下方案用内存钩子也行在SOCKET传输的时候拦截封包保存XML也可以高手们,帮帮忙

解决方案 »

  1.   

    网上有个跨进程获取外部程序中stringgrid单元格数据的例子,耐心点找找,能找到源码下载。另外zswang老师也写过一个跨进程获取VCL的例子,在他的资源里面有下载。不过从我的感觉来看,你这个要求很难用这种办法实现,因为DATAGRID的控件类型在delphi和C#里面的定义可能不同,所以delphi中可以通过的代码,对于C#不一定会起作用。所以建议你尽量别用内存钩子的方法,还是重点从网络截包这方面去着手。网络截包的例子很多,你可以多去网上找找。最好你能知道那个外部程序在网络数据传输时服务器的IP地址和端口号,这样对于过滤其他的杂乱信号有帮助,而且还要分析好数据包的结构,如果是加密的数据,还要自己试着去解密,总之也是很麻烦的工作。数据没有加密的话,就会轻松很多
      

  2.   

    如果知道结构倒是可以直接用指针去读取,不知道.net的东西结构和Delphi是否类似……
      

  3.   

    他的程序可以用C#的反编译获得原代码不知道是否有作用不过本人对C#   WINFORM知识薄弱有很多不明白