function EnumChildProc : BOOL; stdcall; var szFull: array of Char; //Buffer for window caption begin Result := Wnd <> 0; if Result then begin GetWindowText(Wnd, szFull, SizeOf ; // put window text in buffer if (Pos(SL , StrPas > 0) // Test for text and (SL. IndexOfObject(TObject < 0) // Test for duplicate handles then SL. AddObject(StrPas , TObject ; // Add item to list EnumChildWindows(Wnd, @EnumChildProc, Longint ; //Recurse into child windows end; end; function ClickButton : Boolean; var SL: TStringList; H: hWnd; begin SL := TStringList. Create; try SL. AddObject ; // First item in list is text to find EnumChildWindows(ParentWindow, @EnumChildProc, Longint ; H := 0; case SL. Count of 1: ShowMessage ; 2: H := hWnd(SL. Objects ); else ShowMessage ; end; finally SL. Free; end; Result := H <> 0; if Result then PostMessage(H, BM_CLICK, 0, 0); end; Arkadaşlar hali hazırda çalışan programdaki butonun üzerinde bulunan yazıyı prosedire parametre olarak gönderiyorsunuz burda dikkat edeceğiniz olay butonların kısayollarını temsil eden _ ifadesi hangi karakterin üzerinde ise o kadarkterin başına & işareti koymanız. saygılar.