Delphi 截取被遮挡窗口图片?

问答知识库用户 |浏览263次
收藏|2014/05/17 22:00
如何实现这样的截图呢?用什么函数啊?

满意回答

2014/05/17 22:00

function PrintWindow(SourceWindow: hwnd; Destination: hdc; nFlags: cardinal)
  : bool; stdcall; external 'user32.dll' name 'PrintWindow';

procedure TForm1.Button2Click(Sender: TObject);
var
  bmp: TBitmap;
  wnd: cardinal;
  rec: TRect;
begin
  wnd := FindWindow(nil, '计算器'); // 查找窗口句柄,这里用计算器演示
  GetWindowRect(wnd, rec); // 获取到计算器窗口的举行
  bmp := TBitmap.Create;
  try
    bmp.Width := rec.Right - rec.Left;
    bmp.Height := rec.Bottom - rec.Top;
    bmp.PixelFormat := pf24bit;
    PrintWindow(wnd, bmp.Canvas.Handle, 0);
    bmp.SaveToFile('cao.bmp');
  finally
    bmp.Free;
  end;
end;
来自:http://topic.csdn.net/u/20101108/15/b462618c-900e-4187-8f7f-36db395bcb1b.html

热心网友

其他回答(0)
0人关注该问题
待解决问题



+1
 加载中...