get Get list of open windows etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
get Get list of open windows etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

19 Temmuz 2014 Cumartesi

Delphi Ekrandaki bütün pencereleri listeleme

Merhabalar,

Zaman zaman lazım olup kaybettiğim bir kod parçasıdır kaybolmaması için buraya yazıyorum.

Amacı o an ekranda açılan olan uygulamaların Başlık bilgilerini "TStrings" içerisine aktarmasıdır.


procedure GetDesktopWindows(List: TStrings);
var
  hDesktop,
  hWindow: Hwnd;
  Buffer: array[0..255] of char;
begin
  hDesktop := GetDeskTopWindow;
  hWindow := GetWindow(hDesktop, GW_CHILD);
  while hWindow <> 0 do begin
    GetWindowText(hWindow, Buffer, 255);
    if (Buffer <> '') and (IsWindowVisible(hWindow) > False) then
      List.Add(Buffer);
    hWindow := GetWindow(hWindow, GW_HWNDNEXT);
  end;
end;


//Kullanımı

var
  tmp: TStringList;
begin
  try
    tmp := TStringList.Create;
    GetDesktopWindows(tmp);// tmp Stringlisti içerisine ekranı açık olan uygulamaların başlıklarını aldık
  finally
    FreeAndNil(tmp);
  end;