Handlesi Bilinen Pencere Görüntüsünün Alınması

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
loaded
Üye
Mesajlar: 126
Kayıt: 12 Eki 2010 09:45
Konum: Konya
İletişim:

Handlesi Bilinen Pencere Görüntüsünün Alınması

Mesaj gönderen loaded »

Selam Arkadaşlar Cümleten Kolay Gelsin.
Handlesi bilinen bir pencerenin maximized ve özellikle minimized konumunda ekran görüntüsünü alabilecek bir kod arıyorum. Bu konuda Baya bi araştırma yaptım fakat yeterli bi kaynak bulamadım bulduğum kodların hepsi pencere eğer masaüstündeyse çalışıyor değilse pencere konumundan geçerli ekran görüntüsünü veriyor
Bu konuda Yardım :wink:
Kalk ve işe yarar bir şey yap! Çünkü Allah (c.c.) yeniden başlayanların yardımcısıdır.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Handlesi Bilinen Pencere Görüntüsünün Alınması

Mesaj gönderen Battosai »

İstediğiniz gibi bir kod bulabilirmisiniz bilmiyorum ama ben daha rastlamadım...ayrıca minimize konumundaki pencerenin görüntüsünü niye almak istiyorsunuz ?
Kullanıcı avatarı
loaded
Üye
Mesajlar: 126
Kayıt: 12 Eki 2010 09:45
Konum: Konya
İletişim:

Re: Handlesi Bilinen Pencere Görüntüsünün Alınması

Mesaj gönderen loaded »

Selam Battosai
İlgin İçin Teşekkür.
Çalışmakta Olduğum 2 Program var amacım bu iki programı birleştirip tek program olarak kullanmak.Programları küçültüp(minimize etmeden) Programları birleştirebiliyorum fakat biri diğerinin altında kaldığında o zaman problem oluşuyor .
Kalk ve işe yarar bir şey yap! Çünkü Allah (c.c.) yeniden başlayanların yardımcısıdır.
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Handlesi Bilinen Pencere Görüntüsünün Alınması

Mesaj gönderen Lost Soul »

ikinci mesajınıza bir akıl sır erdiremedim ama birinci mesajınıza binaen
biraz gıcık bir yöntem ama handle nosunu bildiğiniz pencereyi minimize konumundan restore konumua getirip screenshotunu aldıktan sonra tekrar minimize konumuna döndürmeyi deneyiniz. Veya

Denemedim ama google amcamın bana bahşettiği aşağıdaki kod sanırım bu işi yapıyor

Kod: Tümünü seç

function WindowSnap(windowHandle: HWND; bmp: TBitmap): boolean;
var
  r: TRect;
  user32DLLHandle: THandle;
  printWindowAPI: function(sourceHandle: HWND; destinationHandle: HDC;
    nFlags: UINT): BOOL;
stdcall;
begin
  result := False;
  user32DLLHandle := GetModuleHandle(user32);
  if user32DLLHandle <> 0 then
  begin
    @printWindowAPI := GetProcAddress(user32DLLHandle, 'PrintWindow');
    if @printWindowAPI <> nil then
    begin
      GetWindowRect(windowHandle, r);
      bmp.Width := r.Right - r.Left;
      bmp.Height := r.Bottom - r.Top;
      bmp.Canvas.Lock;
      try
        result := printWindowAPI(windowHandle, bmp.Canvas.Handle, 0);
      finally
        bmp.Canvas.Unlock;
      end;
    end;
  end;
end; (* WindowSnap *)
Kullanıcı avatarı
loaded
Üye
Mesajlar: 126
Kayıt: 12 Eki 2010 09:45
Konum: Konya
İletişim:

Re: Handlesi Bilinen Pencere Görüntüsünün Alınması

Mesaj gönderen loaded »

Selam Lost Soul
Cevabın İçin Teşekkür Ederim.
Gönderdiğin Kodları Denedim Fakat İstediğim Yine Olmadı.
Kalk ve işe yarar bir şey yap! Çünkü Allah (c.c.) yeniden başlayanların yardımcısıdır.
Kullanıcı avatarı
quadr
Üye
Mesajlar: 69
Kayıt: 21 Haz 2003 10:12
İletişim:

Re: Handlesi Bilinen Pencere Görüntüsünün Alınması

Mesaj gönderen quadr »

açık olan uygulamanın handle numarasını al.daha sonra maximaze et ama kullanıcının bunu maximize ettiğini anlamaması için.
transparancy özelliğini 0 yap form açık ama transparan yani.sonra görüntüsünü al.transparanlığını 255 yap geri minimize et.
bu çok hızlı olacağından hiç bir şey fark edilmez.ekteki gibi bir şey istiyorsun heralde.
Dosya ekleri
MinimizeCap.zip
(13.45 KiB) 86 kere indirildi

Ayakkabıyı sefaletten
Çok sonraları tanıdım
Öyle ufuklarda mı olurmuş Allah'ım
Giyer giyer koşardım
Toprağın dostluğundan
Oyuncaklar yaptım çamurdan
Tenimin rengini aldım topraktan
Sen bakma esmerliğim sonradan...

http://www.tcct.us
Kullanıcı avatarı
loaded
Üye
Mesajlar: 126
Kayıt: 12 Eki 2010 09:45
Konum: Konya
İletişim:

Re: Handlesi Bilinen Pencere Görüntüsünün Alınması

Mesaj gönderen loaded »

Selam quadr
Cevabın İçin Çok Teşekkür Ederim.
quadr Göndermiş Olduğun Uygulama Gayet Güzel Fakat Benim İşimi Yine Tam Olarak Görmedi Fakat Bana Vermiş Olduğu Fikir Sayesinde Problemimi Çözdüm.
Bu Konuyla ilgilenen Tüm Arkadaşlar Cümleniz Selametle Kalın.
Kalk ve işe yarar bir şey yap! Çünkü Allah (c.c.) yeniden başlayanların yardımcısıdır.
Cevapla