Heaventools

   English English  Deutsch Deutsch

startseite   produkte   resource tuner console   beispiel-skripts

Bearbeiten der String-Tabelle: Batch-Ersetzung von Textzeichenfolgen

Dieser Code ermöglicht es Ihnen, die Einträge in der StringTable und MessageTable in Ihren ausführbaren Dateien zu bearbeiten. Sie können mehrere Einträge in mehreren Dateien gleichzeitig bearbeiten und diese Änderungen bei Bedarf wiederholt durchführen.

Der bereitgestellte VBScript-Code bietet ein praxisnahes Beispiel, das die vielfältigen Möglichkeiten von Resource Tuner Console zeigt. Dieser Code demonstriert, wie Sie Folgendes durchführen können:

  • Ändern einer String-Tabelle unter Verwendung von Werten aus einer externen Unicode-Textdatei.
  • Hinzufügen einer Message-Tabelle unter Verwendung von Werten aus einer anderen externen Unicode-Textdatei.

Das Skript ändert effektiv Zeichenfolgen in der Datei DemoApp1.exe, die im RTC-Paket enthalten ist, und verwendet dabei Zeichenfolgenliterale aus folgenden Quellen:

  • Definitionsdatei demoapp1.drc im Ordner "Defs".
  • Unicode-Textdatei strings.txt im Ordner "Src".
  • Unicode-Textdatei messages.txt im Ordner "Src".

Die resultierenden Dateien mit aktualisierten StringTable- und MessageTable-Einträgen werden im Verzeichnis "Release" gespeichert.

Hinweis: Stellen Sie sicher, dass im Skriptcode keine Zeilenumbrüche vorhanden sind, da VBScript erfordert, dass der gesamte Befehl in einer Zeile steht.

Edit Strings

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

  PEFileProxy.PostDebugString "Open file..."
  PEFileProxy.OpenFile ".\src\DemoApp1.exe"
  if (PEFileProxy.Terminated) then
    'Issue a warning in case of error
    PEFileProxy.PostDebugString "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."

      PEFileProxy.ClearDefinitions
      PEFileProxy.PostDebugString "Opening a definition file..."
      PEFileProxy.OpenDefinitionFile ".\defs\demoapp1.drc"
      'This specifies the default language
      LangID = 0 ' Default

      PEFileProxy.PostDebugString "Editing String Table using TXT file..."
      ResourcesProxy.EditStringTableFromFileW LangID, CREATE_IF_NOT_EXIST,
".\src\strings.txt"

      PEFileProxy.PostDebugString "Adding a New Message Table using TXT file"
      ResourcesProxy.EditMessageTableFromFileW "1", LangID, CREATE_IF_NOT_EXIST,
".\src\messages.txt"

      PEFileProxy.PostDebugString "Compiling all changes..."
      PEFileProxy.Compile

      PEFileProxy.PostDebugString "Saving file as a new file..."
      PEFileProxy.SaveAsNewImage ".\release\DemoApp1.exe"
    end if
    PEFileProxy.PostDebugString "Closing this file..."
    PEFileProxy.CloseFile
  end if
end Sub

Um die Änderungen, die man in Test-EXE-Dateien gemacht hat, zu sehen, empfehlen wir die Benutzung von Resource Tuner GUI, einem visuellen Ressourcen-Editor.


BEISPIEL-SKRIPTBIBLIOTHEK

Nach der Installation von Resorce Tuner Console finden Sie den Demo Scripts-Ordner im Verzeichnis, in dem RTC installiert wurde. In diesem Demo-Ordner befinden sich 12 Unterverzeichnisse mit Skriptbeispielen und Beispieldateien.

Alle Beispielskripte sind einsatzbereit. Wählen Sie eine der .BAT-Dateien in den Demo Scripts-Ordnern aus, um das Beispielskript auszuführen. Das Skript wird Änderungen in der Test-EXE-Datei vornehmen. Die resultierende Datei wird im Verzeichnis Release unter dem Verzeichnis erstellt, das das Skript enthält.

 

Schritt-für-Schritt Anleitung wie man Skripte benutzt

 Laden Sie Resource Tuner Console herunter und erfahren Sie, wie es Ihre Produktivität steigern kann.