Следующая статья: Как преобразовать арабские числа в римские?
procedure TForm1.Button1Click(Sender: TObject); var Wnd: hWnd; buff: array [0..127] of char; begin ListBox1.Clear; Wnd:=GetWindow(Handle, gw_HWndFirst); while Wnd<>0 do begin// Не показываем: if (Wnd<>Application.Handle)// Собственное окно and IsWindowVisible(Wnd)// Невидимые окна and (GetWindow(Wnd, gw_Owner)=0)// Дочерние окна and (GetWindowText(Wnd, buff, sizeof(buff))<>0) then begin GetWindowText(Wnd, buff, sizeof(buff)); ListBox1.Items.Add(StrPas(buff)); end; Wnd:=GetWindow(Wnd, gw_hWndNext); end; ListBox1.ItemIndex:=0; end;