jedes fenster (dazu gehören auch buttons und labels) hat unter windows ein
Handle...also eine adresse bzw nummer
diese kannst du mit FindWindow und FindWindowEx herausbekommen.
hier mal nen beispielcode:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
ProgrammHwnd, ButtonHwnd : THandle;
begin
ProgrammHwnd := FindWindow('Classname','Windowname');
if ProgrammHwnd > 0 then
begin
ButtonHwnd := FindWindowEx(ProgrammHwnd,0,'Class','Name');
ButtonHwnd := FindWindowEx(ButtonHwnd,0,'Class','Name');
ButtonHwnd := FindWindowEx(ButtonHwnd,0,'Class','Name');
if (ButtonHwnd > 0) then
PostMessage(ButtonHwnd, BM_Click, 0, 0)
else showMessage('ERROR');
end;
end;
zuerst musst du das
Handle von dem programm mit FindWindow herausfinden... Classname und Windowname musst du mit nem programm rausfinden, zB mit
SpyEx
dann musst du das unterhandle von zB dem Tabsheet rausfinden wo dein button drauf ist...dann die GroupBox usw bis du das
handle von dem button hast. dann kannst du dem button ein BW_CLICK senden und er wurde gedrückt.
des weiteren ist
WinSpy ein nettes tool um die classen und namen rauszufinden... außerdem kann es einen kompletten delphicode produzieren um das richtige
handle zu erhalten