3
私は特定のウィンドウをキャプチャするこのコードを持っています、ウィンドウは成功とキャプチャされますが、ウィンドウの一部だけが表示されます。ウィンドウを完全にキャプチャする方法は?
解決方法
ありがとうございます。
procedure ScreenShotWindow;
var
c: TCanvas;
r, t: TRect;
h: THandle;
Bild: TBitMap;
begin
c := TCanvas.Create;
h := FindWindow(nil, 'Untitled - Notepad');
c.Handle := GetWindowDC(h);
GetWindowRect(h, t);
try
r := Rect(0, 0, t.Right - t.Left, t.Bottom - t.Top);
Bild := TBitMap.Create;
try
Bild.Width := t.Right - t.Left;
Bild.Height := t.Bottom - t.Top;
Bild.Canvas.CopyRect(r, c, t);
Bild.SaveToFile('test'+ RandomPassword(10)+'.bmp');
finally
Bild.Free;
end;
finally
ReleaseDC(0, c.Handle);
c.Free;
end;
end;
が、これは働いていた、あなたに@Kenホワイトありがとうございます。 –