bonjour
je voudrais seulement copier le canvas d'un handle connu
ici je fais des essais sur paint comme fenetre
par la suite sa seras une fenêtre internet explorer pour récupérer des images
qu'on ne peu pas télécharger

déjà je voudrais savoir les dimensions que je dois mettre
pour remplacer d'après exemple suivant (1500*1500) le width du canavas
de la source ici ha.width mais sa n'existe pas
merci d'avance

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
var
  Form1: TForm1;
    fen:thandle;
  ha:thandle;
  can:tcanvas;
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
 
 begin
   can:=tcanvas.Create;
 
  fen:=winapi.Windows.FindWindow(0,pchar('Sans titre - Paint'));
  if fen<>0 then begin
  label2.Caption:=inttostr(fen);
  ha:=getdc(fen);
  can.Handle:=ha;
  end;
 
Image1.Canvas.CopyRect(Rect(0, 0, Image1.Width, Image1.Height),
                               can,
                                Rect(0, 0,1500,
                                1500));
can.Free;
releaseDc(handle, ha);
 
end;
 
end.