如何这么抓屏??????? (200分)

  • 主题发起人 主题发起人 金圣叹
  • 开始时间 开始时间

金圣叹

Unregistered / Unconfirmed
GUEST, unregistred user!
搜索“抓屏”,绝对有你要的答案!
 
寄一份源程序来imeiting@sohu.com
我把分都加给他。
 
简单:
var
bmp:TBitmap;
begin
bmp:=TBitmap.Create;
bmp.Width:=Screen.Width;
bmp.Height:=Screen.Height;
BitBlt(bmp.Canvas.Handle,0,0,Screen.Width,Screen.Height,GetWindowDC(GetDesktopWindow()),0,0,SRCCOPY );
运行到这里,bmp这个TBitmap对象就包含了当前屏幕
 
我也来问一下。
to Pipi.:
但这样抓不下游戏屏,也抓不下realplay或media play的屏,这些屏该怎么抓?
 
DirectX 的输出的画面(还比如vcd播放的画面)没办法通过gdi函数获得
gdi函数只可以获得gdi函数画的东西
 
to Pipi.:
但奇怪的是有一次,realplay的画面居然被我用“Print Screen Sys Rq”键截下了,可只有一次!
DirectX 的输出的画面就没法截了吗?
 
1、我对directX不熟悉
2、为了输出速度,数据直接写入了硬件,不经过gdi,中间不被gdi缓存在内存
 
jackz:
〉〉DirectX 的输出的画面就没法截了吗?
DirectX 肯定是可以截下来的,用一下netmeeting就知道了。但要用什么函数,我也不知道。
 
唉,有人知道就好了。
 
哪位高手帮帮忙吧!
 
有高手知道Windows下的video_buff是哪一段地址吗?
 
DirectX 的输出画面必须要在DirectX图像层缓冲里面去捕捉,
win2000已经解决了这个问题,所以 在win2000下就可以直接拷频。
 
后退
顶部