Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Aktuelles Focusiertes Objekt der Fremdanwendung ermitteln (https://www.delphipraxis.net/70078-aktuelles-focusiertes-objekt-der-fremdanwendung-ermitteln.html)

Armageddon 24. Mai 2006 17:27


Aktuelles Focusiertes Objekt der Fremdanwendung ermitteln
 
Hallo,

gibt es eine Möglichkeit das Handle des aktuell Focusierten z.b. RichEdit oder TEdit einer Fremdanwendung zu bestimmen? Und wenn ja, wie?

Zur Erklärung:
Man stelle sich vor man hat im MS-Word z.b. zwei Fenster auf beide nebeneinander und zuletzt war man im rechten der beiden. Nun Startet man mit z.b. dem Launcher von Stefan Moka sein eigenes Programm. Generiert etwas Text und schreibt diesen in das zuletzt aktiv gewesene Fenster in MS-Word. Ich hoffe Ihr versteht auf was ich hinaus will. :)

Gruß
Markus

Armageddon 25. Mai 2006 18:29

Re: Aktuelles Focusiertes Objekt der Fremdanwendung ermittel
 
Nanu, :gruebel:

keiner der ne Antwort weiß. :cry:
Mal nach bisschen mehr wie 24 Stunden nach Oben schieb. :lol:

marabu 25. Mai 2006 18:46

Re: Aktuelles Focusiertes Objekt der Fremdanwendung ermittel
 
Hallo Markus,

vielleicht hilft dir das ein wenig weiter: klick

Grüße vom marabu

Armageddon 25. Mai 2006 21:10

Re: Aktuelles Focusiertes Objekt der Fremdanwendung ermittel
 
Danke marabu,

habe es mir mal angesehen. Aber der Code bringt mir nur mein eigenes Fenster das ja zum Zeitpunkt auch das ForeGroundWindow ist. Oder? Ich habe auch versucht das Handle der Anwendung anzugeben welches ich ja ermitteln kann. Aber ich weiss nicht ob ich das Haupthandle der Anwendung die ich ermittelt habe angeben muss oder das des TPageControl auf dem die ganzen RichEdit liegen von welchem ich ermitteln möchte welches vor Aufruf meiner Anwendung den Focus gehabt hat. Hat da jemand nen Lösungsansatz für mich?

marabu 25. Mai 2006 21:20

Re: Aktuelles Focusiertes Objekt der Fremdanwendung ermittel
 
Wenn deine eigene Anwendung den Fokus hat, dann könntest du dir mit FindWindow() das main window der anderen Anwendung besorgen und mit GetTopWindow() deren obenaufliegendes control window.

Gute Nacht

marabu

Armageddon 26. Mai 2006 17:57

Re: Aktuelles Focusiertes Objekt der Fremdanwendung ermittel
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo nochmal,

habe jetzt rumgespielt mit GetTopWindow aber komme immer zu dem Ergebniss das es mir von dem angegebenen Handle nur das nächst drunterliegende als TopWindow findet. Mach ich da nen Denkfehler. Ich möchte nur wie in angefügtem Screenshot die beiden markierten Handles finden von welchem eines den Focus hatte bevor ich mein eigenes Programm gestartet habe. Sprich ich klick in eines der beiden RichEdit, starte mein Programm und finde das Handle des zuletzt aktiven RichEdit. Bin am Verzweifeln, das muss doch gehen. :wall:

Gruß
Markus

Armageddon 3. Jun 2006 20:38

Re: Aktuelles Focusiertes Objekt der Fremdanwendung ermittel
 
Hi,

irgenwie komm ich bei dem Problem nicht weiter.
Hat das Problem den echt noch niemand gehabt und ne Lösung gefunden?

jfheins 3. Jun 2006 21:38

Re: Aktuelles Focusiertes Objekt der Fremdanwendung ermittel
 
Du könntest den User fragen, ob ers dir zeigt :mrgreen:

Mankann doch irgendwie das Handle des Fensters unter der Maus feststellen, dann braucht er nur bei dir zu klicken, und über dem gewünschten Fenster loslassen :mrgreen:

Armageddon 3. Jun 2006 22:03

Re: Aktuelles Focusiertes Objekt der Fremdanwendung ermittel
 
Zitat:

Zitat von jfheins
Du könntest den User fragen, ob ers dir zeigt :mrgreen:

Mankann doch irgendwie das Handle des Fensters unter der Maus feststellen, dann braucht er nur bei dir zu klicken, und über dem gewünschten Fenster loslassen :mrgreen:

Sorry, aber diese Methode scheidet ohne wenn und aber aus. Ich brauch das Handle des zuletzt aktiven RichEdit der Fremdanwendung aus welcher heraus ich mein Programm gestartet habe.

Armageddon 7. Jun 2006 17:58

Re: Aktuelles Focusiertes Objekt der Fremdanwendung ermittel
 
Sodale,

da ich nebenher noch was anderes gemacht habe und nun genau mit diesem Problem weitermachen muss aber noch keine Lösung habe schiebe ich das mal nach oben. Habe mir gedacht ich könnte die Fremdanwedung ja nach dem Start meiner Anwendung kurz in den Vordergrund holen, ermitteln welches Objekt auf dem Fenster TEditorForm (also von der Fremdanwendung) den Focus hat und dann wieder meine Anwenudng in den Vordergrund holen. Ist nur die Frage wie und ob es die Lösung erleichtern würde.

Gruß
Markus


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