Einzelnen Beitrag anzeigen

dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 

Re: Interagierende Anwendungen?

  Alt 18. Jan 2007, 18:36
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
Dominik
  Mit Zitat antworten Zitat