...also, hier vielleicht doch mal ein Mini-Beispiel das zeigt, wie absolut einfach das auch mit FindWindowEx sein kann.
Angenommen Du möchtest die Pie-Button auf deinem Taschenrechner-Prog ferngesteuert niederdrücken, dann reicht nämlich schon ungefähr folgendes:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var RechnerHwnd, PiTasteHwnd : THandle;
begin
RechnerHwnd := FindWindow('SciCalc','Rechner');
if RechnerHwnd > 0 then
PiTasteHwnd := FindWindowEx(RechnerHwnd,0,'Button','Pi');
if (RechnerHwnd > 0) and (PiTasteHwnd > 0)
then PostMessage(PiTasteHwnd,BM_Click,0,0)
else showMessage('..klappte nicht!');
end;
Vorher schaust Du dir aber noch mittels Spy++ (=SpyXX) die einfache Control-Struktur des Progs an, ...und siehst dabei zufällig, dass nicht nur der Taschenrechner schon einen sinnvollen Namen (='Rechner') hat, sondern dass ’günstigerweise’ auch die Buttons darauf ihren Funktionen entsprechend benannt sind. Außerdem kannst du auch nur mittels eines solchen Tools die ebenfalls noch benötigten Klassennamen von Prog u. Button herausbekommen.