![]() |
Icon einer Anwendung ändern (UpdateResource)
Hi,
Wenn ich eine .rc Datei erstelle mit folgendem Inhalt Zitat:
Mit dem Resourcen-Hacker hab ist das Icon zu finden unter: Zitat:
Zitat:
Delphi-Quellcode:
Dann funktionierts nicht. Im Explorer wird das Icon nicht angezeigt und mim ResourceHacker habe ich unter dem Selben Eintrag wie eben folgendes stehn:
var h: THandle;
sFile: TFileStream; Data: Pointer; begin h := BeginUpdateResource(PChar(Filename),false); sFile := TFileStream.Create(IconPfad,fmOpenRead); try size := sFile.Size; GetMem(Data,size); sFile.Read(Data^,size); UpdateResource(h,RT_GROUP_ICON,'ICON',MakeLangID(LANG_GERMAN,SUBLANG_GERMAN),Data,size); FreeMem(Data); finally sFile.Free; end; EndUpdateResource(h,false); end; Zitat:
Achja: Die Dateinamen und Pfäde stimmen... Gruß Neutral General |
Re: Icon einer Anwendung ändern (UpdateResource)
Zitat:
|
Re: Icon einer Anwendung ändern (UpdateResource)
Joo.. hab ich vergessen mit reinzukopieren. Hab ich aber in meinem Quellcode stehn.
|
Re: Icon einer Anwendung ändern (UpdateResource)
Ich würde jetzt gerne mal pushen.. Also ich habe mir auch mal das hier runtergeladen und versucht:
![]() Ok damit kann man Icons hinzufügen aber halt in der Gruppe "ICONS" (RT_ICON) Soweit ich aber weiß muss das Symbol für die Exe Datei unter "ICON GROUPS" (RT_GROUP_ICON). Wenn ich es jetzt noch schaffen würde dahin ein funktionierendes Icon zu laden dann wär alles gut. Gruß Neutral General |
Re: Icon einer Anwendung ändern (UpdateResource)
Zitat:
![]()
Delphi-Quellcode:
Ein Eintrag in RT_GROUP_ICON besteht aus einem TIconDirHdr gefolgt von einem Array aus TIconResDirEntry mit den Ordinalnummer der RT_ICON-Ressourcen in .nId. Diese bestehen dann nur aus den wirklichen Bildinformationen.
type
TIconResDirEntry = packed record bWidth: Byte; bHeight: Byte; bColorCount: Byte; bReserved: Byte; wPlanes: Word; wBitCount: Word; dwBytesInRes: Longint; nId: Word; end; |
Re: Icon einer Anwendung ändern (UpdateResource)
Das heißt man muss da wieder rumschnippeln an der Icon-Datei.. Das ist doch ätzend.. Ich schreibe seit Tagen Tausende von Daten mit Hilfe von UpdateResource in eine Exe und das ohne Probleme und diese besch.. Icons brauchen natürliche ne Sonderbehandlung für die ich mich mim halben Icon Dateiformat auseinandersetzen muss... :?
|
Re: Icon einer Anwendung ändern (UpdateResource)
Zitat:
Und wie bereits geschrieben: die Ressourcen in RT_ICON beginnen direkt mit dem TBitmapInfoHeader der Farbbitmap eines jeden Einzelbildes. An denen musst du auch nichts mehr ändern, du kannst sie direkt über .dwImageOffset/.dwBytesInRes aus der Datei laden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:27 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