![]() |
AW: Icon anderer EXE Datei ändern
Zitat:
|
AW: Icon anderer EXE Datei ändern
Zitat:
Soll heißen: Hast du zwei Symbolgruppen, "MAINICON" und 105, dann gewinnt "MAINICON", weil es keine Nummer ist. Hast du zwei Symbolgruppen, "MAINICON" und "BLA", dann gewinnt "BLA", weil es kleiner ist, d.h. alphabetisch sortiert zuerst kommt. Hast du zwei Symbolgruppen, 105 und 13, dann gewinnt 13, weil es kleiner ist. Hast du vier Symbolgruppen, 105, 13, "MAINICON" und "BLA", dann gewinnt "BLA". Wenn du das neue Symbol als Hauptsymbol einrichten willst, dann nimm also einfach "A" als Name, der kommt alphabetisch immer als erstes! (Ressourcennamen übrigens bitte immer nur in Großbuchstaben.) Alles klar? |
AW: Icon anderer EXE Datei ändern
Verstehe. Dann such ich morgen bei Google wie ich vorhandene Icons alle lösche, eine neue Icongroup importiere und dann müsste das alles sein, wenn ich das richtig verstanden habe.
|
AW: Icon anderer EXE Datei ändern
Wieso willst du alle vorhandenen Icons löschen? Das halte ich für keine gute Idee. Ein Programm könnte die Icons ja eventuell im Code benutzen. Wenn sie nicht mehr existieren, könnte es dann zu Fehlern kommen.
Wenn du sie wirklich löschen willst, dann kannst du mit ![]() |
AW: Icon anderer EXE Datei ändern
Ich dachte ich komme dann weniger in Konflikte, wenn ich nur meine Icons da habe, quasi.
Sag mal... kann ich Dir die exe mal schicken an der ich rumversuche? Ich wüsste nur gerne ob Du es schaffst das Icon zu ändern. Ich frage nicht nach dem Code. Ich habe das Gefühl das irgendetwas bei der exe anders ist, ich komme aber nicht drauf was. Ist nur ein Gefühl. |
AW: Icon anderer EXE Datei ändern
Klar, kannst du mir gerne schicken.
Aber du kannst auch einfach mal für dich selbst eine Kopie deiner Exe erstellen, der Kopie dann einen zufälligen Namen geben, um dem Icon-Cache zu entgehen und das aktuelle Symbol sofort zu sehen. |
AW: Icon anderer EXE Datei ändern
Das habe ich schon versucht, leider ohne Erfolg...
Hab Dir den Dropbox Link per PM geschickt. |
AW: Icon anderer EXE Datei ändern
Funktioniert problemlos bei mir mit dem Code aus
![]() So bin ich vorgegangen (deine Exe nennen wir mal z.exe):
Delphi-Quellcode:
Im Explorer hatte D:\z.exe dann nach wie vor das alte Symbol - wegen des Icon-Caches.
procedure ChangeIcon;
var IconA: TSmoGroupIcon; begin // Hole die neue Symbolgruppe... hier als Beispiel #2 aus Notepad.exe if not GetGroupIcon('C:\Windows\System32\Notepad.exe', MakeIntResource(2), IconA) then RaiseLastOSError; // Speichere die Symbolgruppe in z.exe unter dem Namen "A" if not SetGroupIcon('D:\z.exe', 'A', IconA) then RaiseLastOSError; end; Also habe ich z.exe im Explorer einfach schnell kopiert (Strg+C, Strg+V) und schon wurde bei der Kopie das Notepad-Symbol angezeigt, wie erwartet. |
AW: Icon anderer EXE Datei ändern
Merkwürdig... dann scheint es irgendwie an meinem (VMWare) System zu liegen. Viell. ist da der Cache noch kurioser als eh schon.
Ich danke Dir für all die Hilfe und das geklärt ist, das es im Grunde funktionieren müsste. Kann ich den Code eig. auch mit einer ico Datei benutzen oder nur mit exe Dateien? |
AW: Icon anderer EXE Datei ändern
Ich benutze übrigens Windows 8.1.
Im jetzigen Zustand kannst du den Code nur mit Exe/Dll benutzen. Aber eine Lade-Routine für Ico-Dateien ist überhaupt kein Problem, weil Ico-Dateien praktisch dasselbe Format haben: ein TGroupIconRsrcHeader, gefolgt von einem oder mehreren TGroupIconRsrcEntry (nicht ganz, kleine Änderung), gefolgt von den Rohdaten der Bitmaps/PNGs. Die Lade-Routine schreibe ich vielleicht morgen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 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