UNIT Unit1;
{$MODE DELPHI}
INTERFACE
USES
Windows,
Graphics,
Forms,
ExtCtrls;
TYPE
TForm1 = Class(TForm)
Image1: TImage;
Procedure Image1Click(Sender: TObject);
End;
Var
Form1: TForm1;
IMPLEMENTATION
{$R *.LFM}
Function ScrShotWnd(wnd: HWND; Const bmp: TBitmap): Boolean;
Var
r: TRect;
hDLL: THandle;
PrintWindow: Function(aWnd: HWND; hDC: HDC; nFlags: UINT): BOOL; Stdcall;
Begin
Result:= False;
hDLL:= GetModuleHandle(user32);
If hDLL <> 0
Then
Begin
@PrintWindow:= GetProcAddress(hDLL, 'PrintWindow');
If @PrintWindow <> Nil
Then
Begin
GetWindowRect(wnd, r);
bmp.Width := r.Right -r.Left;
bmp.Height:= r.Bottom-r.Top;
bmp.Canvas.Lock;
Try
Result:= PrintWindow(wnd, bmp.Canvas.Handle, 0);
Finally
bmp.Canvas.Unlock;
End;
End;
End;
End;
Procedure TForm1.Image1Click(Sender: TObject);
Var
Wnd: THandle;
Begin
Wnd:= FindWindow('AkelPad4', Nil);
ScrShotWnd(Wnd, Image1.Picture.Bitmap);
Image1.Invalidate;
SetBounds(0, 0, Image1.Picture.Bitmap.Width, Image1.Picture.Bitmap.Height);
End;
END.