截图(指定窗口) ( 积分: 50 )

  • 主题发起人 主题发起人 rockmmm
  • 开始时间 开始时间
R

rockmmm

Unregistered / Unconfirmed
GUEST, unregistred user!
现有窗体A,此窗体在后台运行,最小化,有没有什么办法能够不切换当前窗口而获得A窗口的窗体截图呢?
 
不可以 A窗口最小化时还没有画出来 截什么
还原的时候 A窗口才会接收到WM_PAINT消息 A窗口将会重画
 
printwindow 这个API可以做到,不过必须自己声明一下。
 
先试试小飞龙的方法!
 
截的图是黑的?下面是代码:
procedure PrintBakWnd(H:THandle); //H是指定要抓的窗口A的句柄
var
DC:HDC;
H1:HBITMAP;
DC1:HDC;
ScreenMap:TBitmap;
begin
DC:=GetWindowDC(H);
H1:=CreateCompatibleBitmap(DC,1020,760);
DC1:=CreateCompatibleDC(DC);
SelectObject(DC1,H1);
PrintWindow(H,DC1,0);
ScreenMap:=TBitmap.Create;
ScreenMap.Handle:=H1;
ScreenMap.SaveToFile('c:/'+FormatDateTime('YYYYMMDD-HHMMSS',Now)+'.bmp');
ScreenMap.Free;
DeleteDC(DC);
DeleteDC(DC1);
end;
 
测试完成了,是我的printwindow声明有问题.散分!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
370
import
I
后退
顶部