如何编程实现象抓图软件HyperSnap那样截取扩展活动窗口的图像?(活动窗口的边框可大于桌面)(80分)

  • 主题发起人 主题发起人 happymanfreeman
  • 开始时间 开始时间
H

happymanfreeman

Unregistered / Unconfirmed
GUEST, unregistred user!
象HyperSnap那样的抓图软件能设置要截取的窗口的宽和高的像素大小(可以大于屏幕的像素大小),并能截取该窗口完整的图像,怎样编程实现啊???
另, 像snagit那样的抓图软件能进行DOS截屏, 又怎样编程实现呢???
 
你说的能够截取大于屏幕的图像主是滚屏截图.
截图后再滚屏就可以加上超出部份图.

纯dos截图需要程序在内在驻留,然后读取显示缓冲区.
虚拟dos方式下截图和一般win截图没什么不同
 
starpc:

你错了! HyperSnap的截图方式很多, 其中包括扩展活动窗口截图 和 滚屏截图, 你大概
没有用过HyperSnap吧, 先搜索下载一个用用就知道了. 扩展活动窗口截图与滚屏截图不同,
你先搜索下载一个用用吧.
 
我说的是, 象HyperSnap那样的抓图软件截图方式很多, 其中包括扩展活动窗口截图 和 滚屏截图, 用扩展活动窗口方式截图时, 能设置要截取的活动窗口的宽和高的像素大小(可以大于屏幕的像素大小),并能截取该窗口完整的图像,怎样编程实现啊???
另, 像snapit那样的抓图软件能进行DOS截屏, 又怎样编程实现呢???我想大概分以下两种情况来分析
1. 在Windows Vista, Windows XP, Windows 2000 Professional, Windows NT Workstation, Windows Me, Windows 98, or Windows 95上运行的DOS窗口时, 如何获取DOS窗口的句柄, 因为一旦获取窗口的句柄, 就能轻松编程截取该窗口的图像.在Windows XP及其后的Windows平台, 有GetConsoleWindow函数获取窗口的句柄, 而Windows 98, Windows 95却没有, 怎样才能在上述所有平台上获取DOS窗口的句柄呢?? 在全屏DOS窗口下, 情况是否相同呢??


2. 在纯DOS环境下, 怎样做到按一下某个按键, 自动在后台启动指定的程序并能截取当前DOS屏幕的图像??(如果指定的程序已经启动, 则截取当前DOS屏幕的图像), 再按一下另一个键, 则退出指定的程序, 上述如何编程实现啊???
 
搜索一下以前的帖子,但滚动抓图应该有一定的技术含量的。
 
commandor: 你好!
我要求的是扩展活动窗口截图, 不是滚动截图, 我搜索不到相关资料啊!!! 请你介绍
相关资料啊!!! 或者提供思路啊!!!!! 我已经问了一周多时间了, 这种已经被广泛应用
的编程技术怎么无人知道?????
 
你的意思是说,比如IE浏览器在不是最大化的情况下,将其拉到显示器看不到的地方,然后用你这种扩展方式截取屏幕(当然扩展到把看不见的IE都包括进去),出来的图象上可以看见IE是不?
 
关注!学习学习!还真不会Delphi开发Dos下能运行的程序!
 
zaizp和各位高手;
zaizp, 你说得对! 窗口一部分在桌面上, 其余部分在桌面以外, 如何编程截取整个窗口(包括桌面以外的部分)的完整图像?? 注意: 不能移动窗口. snagit截屏时, 窗口并无移动或滚动. 谁能提供编程思路?? 谁能提供网上的贴子或其他资料?????
 
呵呵``我不过菜鸟一个罢了```
本来以为用底下这样去获取你要的那个窗口就可以,不过大错特错哈``
var
R: TRect;
begin
GetWindowRect(Wnd, R);
Result := CaptureScreenRect(R);
// CaptureScreenRect()为截屏函数
end;

我想GetDC(0)函数,里面的0是代表屏幕,那应该还有别的类型吧``这个我比较不懂``
另外我想也帮你考虑了下,如果想实现,所有程序应该在内存中有驻留,用函数能不能将窗口句柄取出来,发觉有点离题了……我实在能力不行啊``不好意思了``关注
另外你想在纯DOS下截屏,我想现在都有虚拟机了,直接在虚拟机里面运行DOS,然后外部截屏应该可以实现``
继续关注
 
请大家一起想想办法, 国外有没有相关资料 ??? 微软呢?
 
 我已经找到线索, HyperSnap截取扩展活动窗口截图只能在windows xp上进行,不能在
98,95上进行, 这可能与窗口的离屏缓冲(offscreen buffer)有关.windows xp 有窗口的offscreen buffer,而98,95没有, 不过我还没有弄懂.请大家搜索研究一下.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部