Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ProgrammFenster abfangen?! (https://www.delphipraxis.net/137759-programmfenster-abfangen.html)

BongoTrommler 28. Jul 2009 09:27


ProgrammFenster abfangen?!
 
Tachchen;

hab folgendes Probem:

Ich starte ein Programm -> Programm läuft, ab und zu öffnet sich im Programm ein Pop-Up, welches man mit einen klick auf den "Enter"-Button schließen kann... Diesen klick will ich nun mit einem Delphi Programm abfangen, praktisch soll Delphi sehen, dass sich das Fenster öffnet und dann den Button klicken ^^

Jemand nen Lösungsvorschlag, oder einfach mit SetmousePos die Position setzen und einen Mausclick simulieren?


Lg :)

chaosben 28. Jul 2009 09:38

Re: ProgrammFenster abfangen?!
 
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;


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz