Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi ExtractAssociatedIcon() Icon Größe angeben? (https://www.delphipraxis.net/159967-extractassociatedicon-icon-groesse-angeben.html)

Zacherl 20. Apr 2011 17:12

ExtractAssociatedIcon() Icon Größe angeben?
 
Hey,

ich extrahiere momentan Icons aus nicht ausführbaren mit der MSDN-Library durchsuchenExtractAssociatedIcon API. Dies funktioniert auch wunderbar, allerdings kann ich nirgendwo eine Option finden, mit der ich bestimme, ob nun das 16x16 Pixel oder z.b. das 48x48 Pixel Icon extrahiert werden soll.

MSDN-Library durchsuchenSHGetFileInfo habe ich schon gefunden. Denke dort bin ich auf der richtigen Spur, allerdings ist der vorgeschlagene SHGFI_SMALLICON Parameter nicht für meine Zwecke geeignet. Ich würde gerne die Größe in Pixel spezifizieren können.

Kann mir da jemand weiterhelfen?

Viele Grüße
Zacherl

lbccaleb 20. Apr 2011 17:26

AW: ExtractAssociatedIcon() Icon Größe angeben?
 
Zitat:

The ExtractAssociatedIcon function first looks for the indexed icon in the file specified by lpIconPath. If the function cannot obtain the icon handle from that file, and the file has an associated executable file, it looks in that executable file for an icon. Associations with executable files are based on file name extensions, are stored in the per-user part of the registry, and can be defined using File Manager's Associate command.
Also, die Funktion sucht immer nur das Standart zugewiesene Icon. Möchtest du allerdings selber wählen, dann schaue dir mal die API Funktion MSDN-Library durchsuchenExtractIconEx an.

Zacherl 20. Apr 2011 19:37

AW: ExtractAssociatedIcon() Icon Größe angeben?
 
MSDN-Library durchsuchenExtractIconEx liefert mir soweit ich das sehe aber auch nicht die verschiedenen Größen des Standardicons, sondern nur sämtliche mit der Datei assoziierten Icons in einem Array.

Fals es keine API gibt, kann ich natürlich auch in der Registry schauen, in welcher Resource das Icon abgelegt ist und das manuell in der gewünschten Größe extrahieren. Gibt es da vielleicht eine API Möglichkeit, welche mir den Pfad zur DefaultIcon Datei + Index liefert?

Zacherl 21. Apr 2011 16:31

AW: ExtractAssociatedIcon() Icon Größe angeben?
 
An dieser Stelle nochmal ein dezenter push :P Leider habe ich auch nach langer Recherche nichts passendes für das Kernproblem gefunden. Vor der Methode: Registry auslesen und Resource aus PE Datei extrahieren schrecke ich noch etwas zurück.

Vielleicht hat ja doch noch jemand ne Idee für mich.

turboPASCAL 21. Apr 2011 16:40

AW: ExtractAssociatedIcon() Icon Größe angeben?
 
Hier in der DP gab /gibt es irgend wo eine Funktion die per ExtractIconEx alle Iconen(?) einer Icongruppe ausliest.
Also wenn enthalten 16x16, 32x32, 48x48 etc. pp.

Nur leider weiss ich nicht mehr wo das war...

Ich pers. nutze LoadImage mit den entsp. Parametern.

Zacherl 21. Apr 2011 17:01

AW: ExtractAssociatedIcon() Icon Größe angeben?
 
LoadImage liefert mir aber doch nur die Icons aus einer Datei oder einer PE Resource. Mir geht es um die zugeordneten Icons. Sagen wir ich gebe eine .txt Datei als Pfad an und möchte dann dieses Notepad Icon erhalten. In allen Größen wäre natürlich optimal.


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