![]() |
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 :) |
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 18:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz