Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Zurücksetzen des aktiven Control einer fremden Applikation (https://www.delphipraxis.net/208496-zuruecksetzen-des-aktiven-control-einer-fremden-applikation.html)

nytaiceman 5. Aug 2021 15:16

Zurücksetzen des aktiven Control einer fremden Applikation
 
Hallo zusammen,

Ich versuche eine Eingabe in einer fremden Applikation zu machen die mehrere Input Controls hat.
--> Es ist eine Anmeldemaske

Die fremde Applikation anhand des Namens finden
Delphi-Quellcode:

  hWnd := FindWindow( nil, pChar ( 'FormDescription' ) );

  if hWnd <> 0 then
  begin

    SetForegroundWindow( hWnd );

  end;
Nun habe ich die fremde Aplikation fokussiert und könnte Eingaben senden.
Das Problem ist nun, dass es mehrere Eingabefelder gibt und ich nicht weiss, ob der Benutzer schon mit der Tab-Taste oder mit der Maus eines der Eingabefelder selektiert hat.

Kann ich z.B. alle Selektionen zurücksetzen? So das also keines der Eingabefelder fokussiert ist und dann die Tab-Taste senden um das erste Feld zu bekommen.
Delphi-Quellcode:
Keybd_event(VK_TAB, 0, 0, 0);
Es kommt noch erschwerend dazu, dass die Eingabemaske welche in der fremden Applikation angezeigt wird, eigentlich ein WebFormular ist.
Die Class ist "InternetExplorer_Server (Unicode)".
Mehr gibt mir das Werkzeug "WinSpy" nicht heraus.

Ideen wie ich sicherstellen kann, dass meine Eingabe das jeweils richtige Feld trifft?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:54 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