En öndeki ekranı print scren yapma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
emrahozten
Üye
Mesajlar: 33
Kayıt: 09 Ağu 2010 01:28

En öndeki ekranı print scren yapma

Mesaj gönderen emrahozten »

MErhaba

fn alt prtsc kodunu bilen var mı?
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: En öndeki ekranı print scren yapma

Mesaj gönderen Lost Soul »

aktif pencerenin client rect bilgilerini alarak masaüstü resminden kesebilirsiniz.
emrahozten
Üye
Mesajlar: 33
Kayıt: 09 Ağu 2010 01:28

Re: En öndeki ekranı print scren yapma

Mesaj gönderen emrahozten »

Ben prof değilim, ne dedin bi anlasam :) Client rec i nasıl alcam. Biraz daha açar mısınız?
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: En öndeki ekranı print scren yapma

Mesaj gönderen SimaWB »

Kod: Tümünü seç

procedure TForm1.ScreenShotActiveWindow(Bild: TBitMap);
var
  c: TCanvas;
  r, t: TRect;
  h: THandle;
begin
  c := TCanvas.Create;
  c.Handle := GetWindowDC(GetDesktopWindow);
  h := GetForeGroundWindow;
  if h <> 0 then
    GetWindowRect(h, t);
  try
    r := Rect(0, 0, t.Right - t.Left, t.Bottom - t.Top);
    Bild.Width  := t.Right - t.Left;
    Bild.Height := t.Bottom - t.Top;
    Bild.Canvas.CopyRect(r, c, t);
  finally
    ReleaseDC(0, c.Handle);
    c.Free;
  end;
end;
Kullanımı:

Kod: Tümünü seç

var
  bmp: TBitmap;
begin
  bmp := TBitmap.Create;
  try
    ScreenShotActiveWindow(bmp);
    bmp.SaveToFile('DosyaIsmi.bmp');
  finally
    bmp.Free;
  end;
end;
There's no place like 127.0.0.1
emrahozten
Üye
Mesajlar: 33
Kayıt: 09 Ağu 2010 01:28

Re: En öndeki ekranı print scren yapma

Mesaj gönderen emrahozten »

çok teşekkür ederim, işe yaradı
Cevapla