Entwickler-Ecke
Windows API - Per Handle Main-Fenster finden`?
webmaker - So 20.04.03 14:17
Titel: Per Handle Main-Fenster finden`?
Hi ich habe mit GEtForeGroundWindow() ein HAndle gefunden. Doch nun möchte ich daraus das Handle der Haupt-Anwendung haben. Wie geht das?
Also noch an einem Beispiel erklärt:
Habe zb das Handle von Delphi mit GetFore..... ermittelt, allerdings war z.b.das Editor-Fenster aktiv. Deshalb habe ich ja nicht das Handle der gesamten Anwendung. Ich brauche es um es zu verstecken
Habt ihr vielleicht etwas Source für mich`?
Delete - So 20.04.03 17:39
Ein Schuss ins Blaue: Versuch mal mit GetParent solange das übergeordnete Fenster zu finden, bis der Rückgabewert Null ist. Dann bist du zu weit. :mrgreen: Der Desktop ist die Null.
Oder habe ich dich jetzt falsch verstanden, und du willst zwischen allen geöffneten Fenstern hin- und herwechseln?
webmaker - So 20.04.03 18:24
Hi das scheint es irgendwie nicht zu sein.
Also das Programm soll in der TNA sitzen und dann soll, wenn auf ein Item geklickt wird, das Fenster, was zuvor (durch das PopUp und den Klcik auf die TNA) aktiv war, versteckt werden. Das klappt eigentlich auch. Nur wenn es eine Anwendung ist, dass mehrere fenster hat, wird natürlich nur das fenster der Anwendung versteckt, das vorher aktiv war. Und das ist mein Problem. Es soll halt das Handle der gesamten Anwendung herausgefunden werden, damit alles versteckt werden kann.
Habe mal ebend den Source hochgeladen, damit ihr euch das anschauen könnt.
[url]home.arcor.de/alexander-franz/prg.zip[/url]
webmaker - Sa 26.04.03 08:37
kann sich das nochmal wer anschauen? Finde irgendwie nichts weiter raus.
alterSachse - Fr 09.05.03 22:14
:idea: versuch es mal so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| uses tlhelp32;
var AppID, AppSnap: Cardinal; tmEntry: TModulEEntry32; begin GetWindowThreadProcessID(Dein_Handle, @AppID); AppSnap := CreateToolHelp32SnapShot(TH32CS_SnapModule, AppID); if AppSnap = Invalid_Handle_Value then exit; tmEntry.dwSize := sizeof(TModulEEntry32);; Module32First(AppSnap, tmEntry); tmEntry.szExePath - müßte jetzt Application mit komplettem Pfad sein. end; |
Viel Glück.
Moderiert von
Tino: Delphi-Tags hinzugefügt.
webmaker - So 18.05.03 14:23
Hi danke für den Source - habe deinen Post leider erst jetzt gesehen.
Doch wie ich das sehe, liefert dein Source kein Handle zurück sondern nur den Pfad zur Application. Der Source ist aber auch sehr hilfreich.
Hast du oder wer anders vielleicht noch etwas anderes, was mir helfen könnte? DAnke schon mal!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!