Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Bekomme keine Informationen zum Handle (https://www.delphipraxis.net/99857-bekomme-keine-informationen-zum-handle.html)

Sascha L 18. Sep 2007 19:19


Bekomme keine Informationen zum Handle
 
Hallo,

mit GetForegroundWindow erhalte ich ja das Handle vom obersten Fenster.

Ich habe ein kleines Testprogramm, in dem ich ein Memo und einen Timer habe. Damit lass ich mir ständig die Handle-Nummer vom obersten Fenster ins Memo eintragen.

Wenn ich nun "Desktop anzeigen" klicke, erhalte ich dafür auch ein entsprechendes Handle. Leider ist dieses nicht das Handle vom Desktop. Des Weiteren sind alle Informationen wie GetClassName und GetWindowText zu diesem Handle leer. Dieses Handle hat auch keinen Parent (wollte z.B. herausfinden, ob das Parent "Progman" ist).

Da die Handle-Nummer ja auf jedem System unterschiedlich ist, brauche ich eine zuverlässige Methode, um zu überprüfen, ob "Desktop anzeigen" ausgewählt wurde somit der Desktop sichtbar ist (nur hier, und auschließlich hier erhalte ich diese mysteriöse Handle-Nummer ohne Infos).

Ich muss das "Desktop anzeigen" quasi abfangen, sodass die eigene Anwendung wieder nach vorne geholt wird und nicht versteckt wird. Bitte keine Kommentare wie "Wenn ich auf Desktop anzeigen klicke, erwarte ich, dass alle Anwendungen verschwinden."! Dies ist ein Kundenwunsch und muss unbedingt umgesetzt werden, aber ich weiß einfach nicht mehr weiter :-(

Hat jemand noch eine Idee?

Viele Grüße
Sascha

Dezipaitor 18. Sep 2007 20:05

Re: Bekomme keine Informationen zum Handle
 
Schau mal mit Assarbads Programm nach dem misteriösen Handle.

Schau dir auch folgende Links an:
http://blogs.msdn.com/oldnewthing/ar...27/143042.aspx
http://blogs.msdn.com/oldnewthing/ar.../24/79212.aspx

s-off 19. Sep 2007 08:03

Re: Bekomme keine Informationen zum Handle
 
Hallo,

ist das Handle des Desktops nicht immer '0' :?: :!:

Sascha L 19. Sep 2007 08:59

Re: Bekomme keine Informationen zum Handle
 
Zitat:

Zitat von Dezipaitor

Danke für deine Hilfe, aber ich komme dennoch nicht weiter. Assarbads Programm kann nur von sichtbaren Fenstern, etc. die Informationen auslesen. Ich habe aber nur die Handle-ID.

Das Handle, welches TOPMOST wird, wenn ich "Desktop anzeigen" auswähle, ist weder ein Child von Progman, noch hat es sonst irgendetwas mit dem Desktop-Handle zu tun. Dieses Handle existiert auch nur just in dem Moment, wo man "Desktop anzeigen" klickt. Im normalen Betrieb gibt es das Handle nicht. (komme daher auch mit WinSpector) nicht an das Handle.



Zitat:

Zitat von s-off
Hallo,

ist das Handle des Desktops nicht immer '0' :?: :!:

Nein.


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