function EnumChildProc(hwnd: HWND; lParam: LPARAM): BOOL; stdcall;
var
  vBuffer: array[0..256] of Char;
begin
  GetClassName(hwnd, vBuffer, 256);
  TMemo(lParam).Lines.Add(IntToStr(hwnd) + ':' + vBuffer);
  Result := True;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
  EnumChildWindows(Handle, @EnumChildProc, Integer(Memo1));
end;