Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Kompletten Fenstertitel von einem fremden Programm ermitteln

  Alt 11. Sep 2010, 00:11
Mit EnumWindows -> EnumWindowsProc -> GetWindowText solltest Du so gut wie alle Fenster bekommen. Auch Fenster, die zu einem NotifyIcon minimiert sind.

Das Ergebnis von GetWindowText kannst Du ja mit Deinem VorgabeText vergleichen.
Delphi-Quellcode:
function EnumWindowsProc(HWindow : HWnd; LParameter : lParam): Boolean; stdcall;
var
  CaptionText : PChar;
  i : Integer;
begin
  CaptionText := StrAlloc(255);

  i := GetWindowText(HWindow, CaptionText, 255);
  if i > 0 then
    Form1.ListBox1.Items.Add(String(CaptionText));

  StrDispose(CaptionText);
  Result := true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Windows.EnumWindows(@EnumWindowsProc, 0);
end;
In EnumWindowsProc auf Form1 zuzugreifen ist natürlich nur eine schnelle Notlösung, um das Ergenis zu testen. Das "muss" in einer eingesetzten Variante natürlich anders gelöst werden.

Geändert von Satty67 (11. Sep 2010 um 00:17 Uhr)
  Mit Zitat antworten Zitat