Capture d'écran de la fenetre active

cs_etrix Messages postés 55 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 30 janvier 2004 - 3 avril 2003 à 20:40
Illuzmax Messages postés 3 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 24 avril 2006 - 23 juin 2005 à 14:10
salut,
voilà j'ai deja bcp chercher mais j'ai rien trouver pour faire une capture d'ecran de la fenetre active en delphi.
j'espere vraiment que qqun sait packe j'en ai vraiment tres besoin. merci a tous

13 réponses

kakochime Messages postés 24 Date d'inscription mardi 14 mai 2002 Statut Membre Dernière intervention 5 décembre 2008 1
4 avril 2003 à 15:58
Salut,

Il te faut trouver le handle de la fenêtre active, puis sa taille et enfin, copier son canvas dans ton bitmap et enregistrer le bitmap.

procedure Capture;
var
WinCanvas: TCanvas;
R:Trect;
Bmp:TBitmap;

BEGIN
WinCanvas:=TCanvas.Create;//créer le canvas pour la copie
Bmp:=Tbitmap.Create;//Créer un bitmap ;-)
WinCanvas.Handle:=GetWindowDC(GetForeGroundWindow);//Trouve le handle de la fenêtre active
GetWindowRect(GetForeGroundWindow,R);//Charge R avec sa position et sa taille
Bmp.Width:=R.Right-R.Left;//Largeur de ton Bitmap
Bmp.Height:=R.Bottom-R.Top;//Hauteur de ton Bitmap
BitBlt(Bmp.Canvas.Handle,0,0,Bmp.Width,Bmp.Height,WinCanvas.Handle,0,0, SRCCOPY);//Copie le Canvas de ta fenêtre dans ton Bitmap
...
//et voilà, reste plus qu'à enregistrer ton Bitmap
...
//Libère la mémoire
WinCanvas.Free;
Bmp.free;

END;

Kakochime
Rejoignez-nous