![]() |
Icons aus shell32.dll auslesen
Hallo allerseits,
ich würde gerne Icons aus der shell32.dll auslesen und einem TImage zuweisen. Basierend auf einem anderen Thread im Forum habe ich es mit folgender Funktion versucht:
Delphi-Quellcode:
Es funktioniert aber leider nicht, zumal ich leider auch nicht die Nummern bzw. die Bezeichnungen der Ressourcen in der shell32.dll kenne. In h habe ich stets einen korrekten Handle, aber Result.Handle bleibt Null. Würde mich riesig freuen, wenn ihr mir weiterhelfen könnt! Ich würde gerne bestimmte Icons aus der shell32.dll in den Dialogen meiner Anwendung benutzen.
Function TfrmMain.IconLesen(icon_nr_s : string) : TIcon;
var h :HINST; begin Result := nil; h := LoadLibrary('c:\windows\system32\shell32.dll'); try if h <> 0 then begin Result := TIcon.Create; Result.Handle := LoadIcon(h, icon_nr_s); end; finally FreeLibrary(h); end; end; Delphi rules, Matthias |
Re: Icons aus shell32.dll auslesen
Ich mach das für gewöhnlich über diese Function
![]() |
Re: Icons aus shell32.dll auslesen
Hallo,
ändere das Ganze so um dann geht's:
Delphi-Quellcode:
unter uses bindest du shellapi ein und im Aufruf gibst du eine Zahl als Idendifikation an. Den Pfad für shell32.dll musst du eventuell korridieren.
Function IconLesen(icon_nr_s : cardinal) : TIcon;
var h :HINST; begin Result := nil; // h := LoadLibrary('c:\shell32.dll'); try if h <> 0 then begin Result := TIcon.Create; // Result.Handle := LoadIcon(h, icon_nr_s); Result.Handle := ExtractIcon(application.handle,'c:\windows\system32 \shell32.dll', icon_nr_s); end; finally FreeLibrary(h); end; end; Viel Spass Rainer |
Re: Icons aus shell32.dll auslesen
@runger
so wie ich das jetzt sehe, dann wird bei deinem Code doch das Handle auf shell32.dll garnicht verwendet, demnach könnte dann ja das Ganze mit LoadLibrary entfallen?
Delphi-Quellcode:
Function IconLesen(icon_nr_s : cardinal) : TIcon;
begin Result := TIcon.Create; Result.Handle := ExtractIcon(application.handle,'c:\windows\system32\shell32.dll', icon_nr_s); end; |
Re: Icons aus shell32.dll auslesen
Hallo danke,
das hab ich verpennt! Hab den Code nur soweit geändert, dass er funktioniert. Danke Rainer |
Re: Icons aus shell32.dll auslesen
Super, es funktioniert!!!!!
Vielen Dank, ihr seid die Besten! Schönen Tag noch, Matthias |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz