本人现有一需求如下:  怎么获取自身或第三方程序指定窗口、屏幕区域图像?类似于widows的截图功能,
但还有一点不同,就是如果带滚动条的窗口或窗口有可以展开合并内容,又怎么获取
它滚动或合并区域的内容?请各位大佬指点一二,或推荐些相关方面的例子和书籍资料看看,不胜感激!!!

解决方案 »

  1.   

    最简单的办法就是用GetDC('DISPLAY')来取得屏幕的dc然后再BitBlt。如果要针对窗口而且还要展开的话恐怕就有点复杂了……
      

  2.   

    TO cybercake(数字蛋糕),  以前没接触过这些,所以无从下手。
      能否介绍些相关书籍资料
      

  3.   

    参考一下屏幕截图的例子
    http://www.tomore.com/down_file.php?id=9500
      

  4.   

    To liangqingzhi(老之)    谢谢先了。
       那个例子对一般的窗体可以满足需求,
       但是滚动或合并区域的内容没法获得。
      

  5.   

    看看这个贴,可能对你有帮助:
    http://bczs.net/xml/2006/3/28/4644449.xml
      

  6.   

    但是滚动或合并区域的内容没法获得,用类似抓图的方法必须展开或滚动
    推荐使用VirtualAllocEx 对目标进程分配内存
    然后用消息控制取得内容,再ReadProcessMemory 读取数据SysTreeView32,ListBox,SysListView32 ,这些控件速度读取用这种方法我已实现
      

  7.   

    To zzz3265(zzz)   谢谢你的回答。
      能否详细介绍一下你的方法或给点相关的资料、例子让我看看,
      分数不够可以再加,万分感谢。
      

  8.   

    回答这样的具体问题,需要亲手动过手的人才有发言权,这样的人可能不多。
    一般截图功能都是对当前屏幕的截图(这我在DOS下也做过)。