![]() |
icons von dateien ändern (nicht von Exe )
Hallo,
ich möchte bei z.B. einer .swf datei das Dateisymbol ändern. hiermit kann man mit diesem Code leicht einer .Exe Datei Icon ändern, von "unit ABIconChanger" Jaromir Sivic.
Delphi-Quellcode:
nur kann ich leider wie oben nur von .Exe Icon ändern aber nicht die
procedure TForm1.Button2Click(Sender: TObject);
begin if not(FileExists(OpenDialog1.FileName)) then begin MessageBox(handle,'Please first load icon.','Info',MB_OK or MB_ICONINFORMATION); exit; end; if OpenDialog2.execute then begin //test if OpenDialog1.FileName has .ico extension8 if lowercase(ExtractFileExt(OpenDialog1.FileName))='.ico' then ChangeIcon(OpenDialog1.FileName,OpenDialog2.FileName) else ChangeIcon(OpenDialog1.FileName,OpenDialog2.FileName,0) end; end; swf Dateien! oder ist das nicht möglich mit dieser Code? |
AW: icons von dateien ändern (nicht von Exe )
Nein ist es nicht, da der Icon Changer die Icon Datei in die Exe schreibt! Um aber File Icons zu ändern, muss die Registry dementsprechend geändert werden.
Schau dir mal die Registry im Editor an, die Bäume sind eigentlich fast selbst Erklärend, zumindest die Teile die dafür von nöten sind. |
AW: icons von dateien ändern (nicht von Exe )
Es funktioniert folgendermaßen. Wenn du in der Registry eine Dateierweiterung aufschlägst, z.b. HKEY_CLASSES_ROOT\.txt, dann findest du im Standardwert des Schlüssels den Typenbezeichner. In unserem Falle ist dies der Wert: txtfile.
Nun suchst du wiederrum diesen Schlüssel auf: HKEY_CLASSES_ROOT\txtfile\DefaultIcon Im Standardwert steht dann der Pfad zur Icon Resource drin: %SystemRoot%\system32\imageres.dll,-102 Der erste Teil ist der Pfad zur DLL oder EXE, welche die Resource enthält und die Ziffer hinter dem Komma ist der Icon Index innerhalb der Resourcen Library. Durch ändern dieses Wertes kannst du das assoziierte Dateiicon ändern. Ich meine mich allerdings zu erinnern, dass Windows die Änderung erst nach einem Neustart der explorer.exe übernimmt. Es gab auch eine Funktion, die man benutzen konnte, um ohne Neustart auf die Änderung hinzuweisen. Allerdings ist mir der Name entfallen. |
AW: icons von dateien ändern (nicht von Exe )
ok ,danke an Zacherl und lbccaleb
ich werde mal probieren |
AW: icons von dateien ändern (nicht von Exe )
Ich war auch der Meinung das es dafür eine Delphi Komponente gab, allerdings brauchte ich die nie und hab dadurch auch den Namen vergessen.Vllt kannst du Sie ja finden wenn du
![]() |
AW: icons von dateien ändern (nicht von Exe )
Grade in der Registry ändern sollte ja nicht das Problem sein. Hier noch der Code zum refreshen des Icon Caches, den ich meinte:
![]() |
AW: icons von dateien ändern (nicht von Exe )
Zacherl
sehr nett, danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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