Entwickler-Ecke

Windows API - Icon eines Fensters auslesen


Xion - Mi 07.02.07 16:19
Titel: Icon eines Fensters auslesen
Hi

wie kann ich mit Hilfe des Fensterhandles das Icon des jeweiligen Programms auslesen (dieses Icon wird z.B. in der Taskbar angezeigt).

Thx


Renegade - Mi 07.02.07 16:46

Guckst Du hier

http://www.delphi-forum.de/viewtopic.php?t=2904&highlight=icon+programm+auslesen

2 Sekunden Boardsuche!


Xion - Mi 07.02.07 19:33

thx

ui...nach was hast du gesucht? ich hab nix gefunden...fies ;)


Xion - Do 08.02.07 15:06

hmmm, aber eigentlich hilft mir das jetzt auch nicht weiter. Weil ich hab keinen Pfad der Datei sondern nur das Fensterhandle. Und es ist ja auch nicht das eigene Programm, sondern andere, die ich über EnumWindows bekomme...

thx


Xion - Do 08.02.07 15:24

das löst schonmal weitestgehend mein Problem, leider funktioniert dabei das Delphi-Logo nicht :(

http://groups.google.de/group/de.comp.lang.delphi.misc/browse_thread/thread/7783b65694626b75/56782264eadd6f42%2356782264eadd6f42


Xion - Do 08.02.07 16:33

seltsam, wenn Delphi minimiert ist, erkennt er auch bei Delphi das Icon :?:


OldGrumpy - Do 08.02.07 18:52

Probier auch mal den Ansatz mit WM_GETICON:

MSDN-Seite zur Windows Message WM_GETICON [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowmessages/wm_geticon.asp]

Neben GCL_HICON gibts auch noch GCL_HICONSM als Parameter für GetClassLong - es empfiehlt sich, alle Methoden durchzuprobieren bis man ein Icon hat :) Oder man nimmt halt ein Standardicon.


Xion - Fr 09.02.07 15:08

user profile iconOldGrumpy hat folgendes geschrieben:
Probier auch mal den Ansatz mit WM_GETICON


;) diese Funktion findet genau die, die ich sonst nicht finde, aber die, die ich vorher gefunden habe, findet er nicht mehr :autsch:

naja, beide funktionen zusammen funktionieren aber jetzt einwandfrei :zustimm:

user profile iconOldGrumpy hat folgendes geschrieben:

Neben GCL_HICON gibts auch noch GCL_HICONSM als Parameter für GetClassLong


ja, aber HICONSM bedeuted nur, dass ich kleine Icons will statt Große.

thx :D


OldGrumpy - So 11.02.07 15:54

Das mit dem ICONSM ist mir schon klar, ich hatte nur in einer Newsgroup einen Hinweis gefunden dass manchmal nur eins von beiden funktioniert (also entweder ICON oder ICONSM). Daher hab ichs vorsichtshalber mit reingeschrieben. Interessant finde ich auf jeden Fall dass man zwei unterschiedliche Methoden anwenden muss, um verlässlich ein Icon zu bekommen. Mich würde mal interessieren, woran das liegt. Vielleicht hab ich mal Zeit, mir das anzuschauen, neugierig bin ich da auf jeden Fall :)