![]() |
Applicationhandle eines Fensters ermitteln
Hallo,
ich habe ein beliebiges Handle eines Fensters und möchte das Application-Handle des Programms ermitteln. Gibt es dazu eine einfache Lösung? Eine Idee wäre es über "ParentWindow" sich vorzuarbeiten. Aber woher weiß ich bei der Application angekommen bin? Gibt es dann kein Parent mehr? Vielleicht gibts ja schon eine Funktion dafür? |
Re: Applicationhandle eines Fensters ermitteln
wozu genau benötigst du dieses Handle?
|
Re: Applicationhandle eines Fensters ermitteln
Meine Anwendung öffnet ab und an ein Fenster.
Bevor sie das macht hole ich mir das Handle des Fensters, daß gerade den Fokus hat. Wenn es sich nicht um ein Fenster meiner Anwendung handelt minimiert sich meine Anwendung nachdem das eben geöffente Fenster geschlossen wurde. Ich möchte also die Application-Handle des Fensters mit dem Handle meiner Application vergleichen. |
Re: Applicationhandle eines Fensters ermitteln
probiers doch mal mit Application.Handle :zwinker:
|
Re: Applicationhandle eines Fensters ermitteln
Naja dann habe ich das Handle meiner Application aber mit was soll ich das vergleichen? Also brauch ich ja noch das Application-Handle des Fensters, welches im Vordergrund war.
|
Re: Applicationhandle eines Fensters ermitteln
schau mal
![]() |
Re: Applicationhandle eines Fensters ermitteln
Du könntest auch Dein Hauptfenster mit GetAncestor(handleDesGefundenenFensters, GA_ROOT) vergleichen.
|
Re: Applicationhandle eines Fensters ermitteln
Zitat:
Zitat:
|
Re: Applicationhandle eines Fensters ermitteln
Poste mal ein Code-Gerüst. Wenn wir genau wissen, was Du machen willst können wir auch besser helfen. Wenn Du mit GetAncestor nicht weiter kommst, dann versuche es doch auf die Harte Tour mit GeModuleFileName...
|
Re: Applicationhandle eines Fensters ermitteln
Also wenn du prüfen willst ob das Fenster, dass vorher den Focus hatte zu deiner Anwendung gehört, machst du das am einfahcsten (meiner Meinung nach) über die Prozess ID.
Du holst dir mit getWindowThreadProcessId die Prozess Id und vergleichst diese mit der aktuellen ProzessId, sieht dann etwa so aus:
Delphi-Quellcode:
function getWindowPID( const h: integer): dword;
begin getWindowThreadProcessId( h, result); end; function gehoertFensterZuMir( const handle: integer): Boolean begin result:= getWindowPID( handle) = getCurrentProcessid; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 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