startseite produkte resource tuner console beispiel-skripts
Icons hinzufügen oder ersetzen
In diesem Codebeispiel zeigen wir, wie Sie mühelos Icons in EXE- und DLL-Dateien mit dem Resource Tuner Console ändern können.
Das Skript fügt Icons in einer Test-EXE-Datei hinzu oder ersetzt sie und verwendet dazu Icons aus .ico-Dateien, die sich im Ordner "Src" befinden. Sobald die Modifikationen abgeschlossen sind, wird die aktualisierte Datei im Verzeichnis "Release" gespeichert.
Der Code demonstriert die folgenden Icon-Modifikationen in ausführbaren Dateien:
- Ersetzen des Haupticons durch neue Icons aus einer .ICO-Datei, einschließlich des großen 256x256 PNG-komprimierten Icons.
- Sortieren der hinzugefügten Icons in der richtigen Reihenfolge.
- Hinzufügen eines weiteren Icons zur neu erstellten Icon-Gruppe.
- Ausgabe der Änderungen im Resource Tree in die Datei
rtc.log
. - Wiederherstellen der ursprünglichen Zeitstempel der Datei nach dem Speichern.
Das Skript fügt in DemoApp1.exe
Icons hinzu oder ersetzt sie durch Icons aus .ico-Dateien, die sich im Ordner "Src" befinden.
Nach der Ausführung werden die resultierenden Dateien mit aktualisierten Icons im Verzeichnis "Release" gespeichert. Sie können die vorgenommenen Änderungen im Resource Tree überprüfen, indem Sie die Datei "rtc.log" prüfen.
Das Skript enthält auch eine Methode, um die ursprünglichen Dateizeitstempel zu erhalten, die zu Demonstrationszwecken dient. Dadurch können Sie die ursprünglichen Zeitstempel (Erstellungszeit, letzter Zugriff und letzte Änderung) der Datei nach der Durchführung von Dateioperationen wiederherstellen.
Für umfassendere Details und Anleitungen verweisen Sie auf den Schritt-für-Schritt-Leitfaden zur Verwendung von Skripten, der weitere Einblicke in die Verwendung von Resource Tuner Console bietet.
Hinweis: Stellen Sie sicher, dass im Skriptcode keine Zeilenumbrüche vorhanden sind, da VBScript erfordert, dass der gesamte Befehl in einer Zeile steht.
Sub Main PEFileProxy.PostDebugString "PE file header checksum updating is enabled." PEFileProxy.UpdateCheckSum = True PEFileProxy.PostDebugString "The creation of a backup copy is disabled." PEFileProxy.CreateBackUp = False '-------- Getting the original file timestamps (for demo purpose) -------- 'To restore the original timestamps on the file after saving, 'we need to get the timestamps before performing any file operations. SRCFILE = ".\src\DemoApp1.exe" PEFileProxy.PostDebugString "" PEFileProxy.PostDebugString "Getting CreationTime, LastAccessTime and LastWriteTime for file '" & SRCFILE & "'..." set fso = CreateObject("Scripting.FileSystemObject") set f = fso.GetFile(SRCFILE) DCR = f.DateCreated DLM = f.DateLastModified DLA = f.DateLastAccessed PEFileProxy.PostDebugString "Created : " & DCR PEFileProxy.PostDebugString "Last Modified: " & DLM PEFileProxy.PostDebugString "Last Accessed: " & DLA PEFileProxy.PostDebugString "" '------------------------------------------------------------------------- 'Open file PEFileProxy.PostDebugString "Opening the file..." PEFileProxy.OpenFile SRCFILE if (PEFileProxy.Terminated) then 'Issue a warning in case of error PEFileProxy.PostDebugString "Fatal error when opening this file." else PEFileProxy.PostDebugString "File opened OK." if (not PEFileProxy.HasResources) then PEFileProxy.PostDebugString "The file contains no resources." else PEFileProxy.PostDebugString "The file contains resources." 'This specifies the default language LangID = 0 ' Default PEFileProxy.PostDebugString "Change/add the main application icon..." ResourcesProxy.ChangeIcon "", LangID, CREATE_IF_NOT_EXIST, REPLACE_IF_ITEM_EXISTS_ELSE_ADD, ".\src\vista_iconset.ico" PEFileProxy.PostDebugString "Add one more Icon Group with one more icon..." ResourcesProxy.ChangeIcon "New Icon Group", LangID, CREATE_IF_NOT_EXIST, REPLACE_IF_ITEM_EXISTS_ELSE_ADD, ".\src\icon_3_32x32_8bit.ico" 'Build and output the Resource Tree to log to show the changes made PEFileProxy.PostDebugString "" PEFileProxy.PostDebugString "Resource Tree built by RTC:" ResourcesProxy.ResourceTreeToLog PEFileProxy.PostDebugString "" 'Save file PEFileProxy.PostDebugString "Saving file..." DESTFILE = ".\release\DemoApp1.exe" PEFileProxy.SaveAsNewImage DESTFILE '-------------------------------------------------------------------------- 'Restoring the original timestamps (CreationTime, LastAccess and LastWrite) PEFileProxy.PostDebugString "" PEFileProxy.PostDebugString "Restore CreationTime, LastAccessTime and LastWriteTime for file '" & DESTFILE & "'..." if not ScriptUnit.SetFileTime(DESTFILE, DCR, DLA, DLM) then 'Issue a warning in case of error PEFileProxy.PostDebugString "Restoring CreationTime, LastAccessTime and LastWriteTime for file '" & DESTFILE & "' failed." else PEFileProxy.PostDebugString "CreationTime, LastAccessTime and LastWriteTime for file '" & DESTFILE & "' restored OK." end if PEFileProxy.PostDebugString "" '-------------------------------------------------------------------------- end if PEFileProxy.PostDebugString "Closing this file..." PEFileProxy.CloseFile end if end Sub
Nach der Ausführung des Skripts erstellt RTC eine Protokolldatei, die die im Prozess vorgenommenen Änderungen im Resource Tree anzeigt. Sie können diese Änderungen bequem in der Protokolldatei überprüfen, um die durchgeführten Modifikationen zu verstehen:
Resource Tree built by RTC: ---------------------------------------- [Cursor (1)] 1: 32x32 1b, Neutral (0) 2: 32x32 1b, Neutral (0) 3: 32x32 1b, Neutral (0) 4: 32x32 1b, Neutral (0) 5: 32x32 1b, Neutral (0) 6: 32x32 1b, Neutral (0) 7: 32x32 1b, Neutral (0) [Bitmap (2)] BBABORT: Neutral (0) BBALL: Neutral (0) BBCANCEL: Neutral (0) BBCLOSE: Neutral (0) BBHELP: Neutral (0) BBIGNORE: Neutral (0) BBNO: Neutral (0) BBOK: Neutral (0) BBRETRY: Neutral (0) BBYES: Neutral (0) CDROM: Neutral (0) CLOSEDFOLDER: Neutral (0) CURRENTFOLDER: Neutral (0) EXECUTABLE: Neutral (0) FLOPPY: Neutral (0) HARD: Neutral (0) KNOWNFILE: Neutral (0) NETWORK: Neutral (0) OPENFOLDER: Neutral (0) RAM: Neutral (0) UNKNOWNFILE: Neutral (0) XCLR_BMP: German — Switzerland (2055) [Icon (3)] * 1: 32x32 4b, Finnish (1035) 2: 32x32 8b, Finnish (1035) + 3: 16x16 4b, Neutral (0) + 4: 32x32 8b, Neutral (0) + 5: 32x32 4b, Neutral (0) [String (6)] 4080: Neutral (0) 4081: Neutral (0) 4082: Neutral (0) 4083: Neutral (0) 4084: Neutral (0) 4085: Neutral (0) 4086: Neutral (0) 4087: Neutral (0) 4088: Neutral (0) 4089: Neutral (0) 4090: Neutral (0) 4091: Neutral (0) 4092: Neutral (0) 4093: Neutral (0) 4094: Neutral (0) 4095: Neutral (0) 4096: Neutral (0) [RC Data (10)] DVCLAL: Neutral (0) PACKAGEINFO: Neutral (0) TFORM1: Neutral (0) [Cursor Group (12)] 32761: Neutral (0) 32762: Neutral (0) 32763: Neutral (0) 32764: Neutral (0) 32765: Neutral (0) 32766: Neutral (0) 32767: Neutral (0) [Icon Group (14)] * MAINICON: Korean (1042) XCLR_ICON: German — Switzerland (2055) + 1: Neutral (0) [Version (16)] 1: English (US) (1033) --------------------------------------------------------------------- Legend: [Name (Ord)] — Type; "+" — New; "-" — Deleted; "*" — Modified Die Sprach-ID wird durch einen Wort-Ganzzahlwert dargestellt, der aus einer Primärsprache und der entsprechenden Unter-Sprache besteht, die vom Windows-Betriebssystem definiert sind. Wenn ein Ressourcenelement als "sprachneutral" bezeichnet wird, wird der Sprach-ID-Wert auf Null gesetzt. |
Diese Protokolldatei dient als wertvolle Referenz und bietet Einblicke in den Icon-Ersatz und die Änderungen am Resource Tree, die von RTC vorgenommen wurden. Mit dieser Ausgabe können Sie sicherstellen, dass die gewünschten Änderungen erfolgreich angewendet wurden und Ihre Icon-Verwaltungsaufgaben mühelos optimieren.
Um die Änderungen an den Test-EXE-Dateien zu sehen, empfehlen wir die Verwendung von Resource Tuner GUI.
Nach der Installation von Resource Tuner Console können Sie auf diese Beispiele im Ordner Demo Scripts
zugreifen, der sich im Installationsverzeichnis befindet. Der Ordner Demo Scripts
enthält 12 Unterverzeichnisse, von denen jedes Beispiele und ausführbare Dateien enthält.
Alle Beispiel-Skripte sind vorkonfiguriert und einsatzbereit. Um ein Beispiel-Skript auszuführen, wählen Sie einfach eine der .BAT-Dateien in den "Demo Scripts"-Ordnern aus. Das Skript wird Änderungen an einer Test-EXE-Datei vornehmen. Die modifizierte Datei wird in einem Verzeichnis namens "Release" generiert, das sich im selben Verzeichnis wie das Skript befindet.
Haben Sie eine Frage?
Schauen Sie sich unbedingt unseren FAQ-Bereich an, um Antworten auf die am häufigsten gestellten Fragen zu erhalten.
Wenn Sie Fragen zu Resource Tuner Console haben, kontaktieren Sie uns bitte. Wir würden uns über Ihr Feedback freuen! Wir begrüßen Ihre Feature-Anfragen, Fehlerberichte, Vorschläge oder Kommentare zu unserem Produkt. Ihre Meinung ist für uns von großer Bedeutung. Dies hilft uns, unsere Zeit auf Funktionen zu konzentrieren, die Benutzer wirklich interessieren.