Einzelnen Beitrag anzeigen

Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#22

Re: Fenster-Icon aus hWnd ermitteln

  Alt 18. Jun 2005, 12:54
Hallo zusammen,
danke erstmal an dich Toms für die Bereitstellung deines Codeschnipsels (und die Erweiterung der Demo ).

Unter http://www.swissdelphicenter.ch/de/showcode.php?id=628 habe ich auch einen Codeausschnitt gefunden, der das Fenstericon ebenfalls über GetClassLong() + GCL_HICON auszulesen versucht. Dieser hat mich aber nicht überzeugt, da nur das große Icon zurückgeliefert wird, was nicht bei allen Anwendungen gut funktioniert.

Über GCL_HICONSM kann man auch das kleine Icon auslesen, was Toms' Code ja demonstriert. Das funktioniert meistens auch ganz gut, aber eben auch nicht immer:
  • Hat der ein oder andere von euch AntiVir PE (laufen)? Bei mir wird statt dem roten Schirm-Icon des AntiVir Guard ("AnitVir PersonalEdition Classic - Guard") nur das Standard-Anwendungs-Icon angezeigt.
  • Bei mir tritt das gleiche Problem wie bei SirThornberry auf: Gebt mal "fMain.pas" als Fenstertitel ein. Obwohl das Codefenster ein kleines Icon in der Titelleiste besitzt, kann nur das große ermittelt werden.
  • Bei manchen Programmen wird als kleines Icon das große Icon ermittelt, dieses wird dann entsprechend auf 16x16 Pixel zugeschnitten.
Außerdem: Wie wird eigentlich das große Icon ermittelt? Eigentlich existiert ja nur ein kleines Icon in der Titelleiste, woher kommt dann das 32x32-Symbol?

Im Anhang findet ihr zu den einzelnen Punkten Screenshots...

Gruß, Marco
Miniaturansicht angehängter Grafiken
gwi1_170.jpg   gwi2_182.jpg   gwi3_114.jpg  
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat