最简单的思路,不断抓图,然后发送给远程主机.不过.这有时候受于带宽的限制.传送数据过大,我在其它地方查到资料说:
在远程机器上,截获WM_PAINT消息,得到一个重画区域,发送这个区域数据即可。
这具体应该如何实现,.我的思路,是截获WM_PAINT消息后,可不可以得到要重绘的区域的坐标.大小?可以用钩子截获WM_PAINT消息吧?

解决方案 »

  1.   

    好想法,不过wm_PAINT只要存在当前运行的程序中的吧,这样截获的也只是这个监视程序的消息区域。
      

  2.   

    自己截图然后查找前后两次的不同的地方再发送,WM_PAINT不知道怎么截获了这个类似于视频编码里的去时域的冗余信息了,网上搜一下,这些算法都很成熟了http://baike.baidu.com/view/746807.htm
      

  3.   

    截图, 对前后两次的图像数据作异或运算,将结果用开源的zip算法压缩,传输到远程主机后作异或运算进行还原。
    注:异或运算的目的是使没有重绘的区域的图像数据变为0, 增大压缩率.
      

  4.   

    建议楼主找几个远控程序的源码看看,网上貌似比较多。http://www.google.com.hk/search?hl=zh-CN&q=%E8%BF%9C%E6%8E%A7%E6%BA%90%E4%BB%A3%E7%A0%81&lr=
      

  5.   

    http://download.csdn.net/source/2776143希望对你有帮助
      

  6.   

    1、传输变化区域
    2、传输前也压缩,可以尝试jpeg压缩
      

  7.   

    自己感觉还是tightvnc做的比较好
    http://sourceforge.net/projects/vnc-tight/
    http://sourceforge.net/projects/tight-vnc2/