Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
Delphi XE2 Professional
|
Re: ProgrammFenster abfangen?!
28. Jul 2009, 10:38
Ich würde mit Greatis WinDowse nachgucken, was an dem Fenster eindeutig ist (es wiedererkennbar macht) und dann per FindWindow den Button suchen und dann WM_LBUTTONDOWN und WM_LBUTTONUP posten.
So hab ich das mal gemacht.
Hier mal der Code von damals:
Delphi-Quellcode:
var
Handle,
Parent : HWND;
buffer : array[0..255] of char;
Button : Integer;
begin
Handle:=FindWindow( nil,PChar(' Total Commander'));
if ( Handle<>0) then
begin
Handle:=FindWindowEx( Handle,0, nil, nil);
Handle:=FindWindowEx( Handle,0, nil,PChar(' NagPage'));
Parent:=FindWindowEx( Handle,0, nil, nil);
Handle:=FindWindowEx(Parent,0,Pchar(' TPanel'), nil);
GetWindowText( Handle,buffer,254);
if (TryStrToInt(buffer, Button)) then
begin
Handle:=FindWindowEx(Parent,0, nil,Pchar(' &'+IntToStr(Button)));
PostMessage( Handle,WM_LBUTTONDOWN,0,0);
PostMessage( Handle,WM_LBUTTONUP,0,0);
Self.Caption:=IntToStr( Handle);
Application.Terminate;
end;
end;
end;
Benjamin Schwarze If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
|
|
Zitat
|