Du kommer selv til at finde ud af at findet et rette handle til det vindue du vil "capture" med mindre at det er desktopen :) ----------------------- procedure TForm1.Button1Click(Sender: TObject); var //Capture Temp: TBitmap; d: HDC; h: HWND; R: TRect; X, Y: integer; PChar: Array[0..255] of Char; begin Temp := TBitmap.Create;
//Skaf handle If False then //Det aktive windue h := GetForegroundWindow else //Desktopen h := GetDesktopWindow; //Vinduets navn GetWindowText(h, pchar, 255); //Hent vinduets DeviceContext d := GetDC(h); //Hent vinduets størrelse Windows.GetClientRect(h, r); //GetWindowRect x := r.Right - r.Left; y := r.Bottom - r.Top; //Sæt image'et til at passe Temp.Width := x; Temp.Height := y; //Tegn billede bitblt(Temp.Canvas.Handle, 0, 0 , x, y, d, 0, 0, srccopy);
Capture du desktopen kommer de vinduer der er åbne også med på billedet.
Capture desktopen, ændre bitblt(Temp.Canvas.Handle, 0, 0 , x, y, d, 0, 0, srccopy); så den kopier det rigtige område.. Du skal selvfølge også lige ændre temp's widht/height så den passer med området. Det skulle kunne lade sig gøre.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.