Window Identifier

Erklärung
Dieses Programm sagt einem das Handle des Fensters auf das die Maus zeigt.

Quelltext
  procedure TForm1.Timer1Timer(Sender: TObject);
var P    : TPoint;
      buf  : array[0..255] of Char;
      h    : THandle;
begin
   //Mausposition abfragen
  GetCursorPos(p);
  //Welches Fenster befindet sich dort ?
  h:=WindowFromPoint(p);

  //Wenn wir einen Handle haben können wir anfangen...
  if h<>0 then Begin
     //Erstes Label = Handle
     LBLHandle.Caption := inttostr(h);
     //Wie heißt der Titeltext des Fensters?
     GetWindowText(h,buf,255);
     LBLName.Caption := Buf;
     //nachprüfen ob das hier ein Child-Window ist
     h:= getparent(h);
     if h = 0 then LBLChild.Caption := 'Nein'
     else Begin
       //Es ist also ein Child-Window, aber wie heißt das Parent-Fenster?
       GetWindowText(h,buf,255);
       //Fenstername & Handle ausgeben
       LBLChild.caption := 'Ja ' + buf + ' (' + inttostr(h) + ')';
     end;
  end;
end;