Редактор ресурсов

   English English  Deutsch Deutsch  Русский Русский

главная  программы  resource tuner console  сборник примеров скриптов

Edit Strings: Пакетная замена текстовых строк

Скрипт демонстрирует использование RTC для редактирования StringTable и MessageTable. Одновременно можно заменить неограниченное количество строк в неограниченном количестве файлов.

Представленный код на VBScript предлагает реальный пример, который демонстрирует разнообразные возможности Resource Tuner Console. Этот код демонстрирует, как:

  • отредактировать String Table, используя значения из внешнего юникодного текстового файла;
  • добавить Message Table, используя значения из другого внешнего юникодного текстового файла.

Скрипт заменяет строки в тестовом EXE файле DemoApp1.exe (который поставляется вместе с программой), используя подготовленные строковые значения для замены и добавления из следующих источников:

  • файл определенийdemoapp1.drc из папки "Defs".
  • текстовый файл strings.txt из папки "Src".
  • текстовый файл messages.txt из папки "Src".

Результирующий файл с обновленными записями в String Table и Message Table будет сохранён в папке с именем "Release".

Примечание: при копировании кода скрипта, пожалуйста, убедитесь в отсутствии переносов строк внутри команд. Это требование VBScript: каждая команда должна располагаться целиком в одной строке.

Edit Strings

Sub Main
  PEFileProxy.PostDebugString "Пересчёт контрольной суммы в заголовке файла вкл." 
  PEFileProxy.UpdateCheckSum = True

  PEFileProxy.PostDebugString "Создание резервной копии отключено." 
  PEFileProxy.CreateBackUp = False

  'Открытие файла
  PEFileProxy.PostDebugString "Открываем файл..."
  PEFileProxy.OpenFile ".\src\DemoApp1.exe"
  if (PEFileProxy.Terminated) then
    'Предупреждение в случае ошибки
    PEFileProxy.PostDebugString "При открытии файла произошла ошибка."
  else
    PEFileProxy.PostDebugString "Файл открыт успешно."
    if (not PEFileProxy.HasResources) then
      PEFileProxy.PostDebugString "Файл не содержит ресурсов."
    else
      PEFileProxy.PostDebugString "Файл содержит ресурсы."

      PEFileProxy.ClearDefinitions
      PEFileProxy.PostDebugString "Открываем файл определений..."
      PEFileProxy.OpenDefinitionFile ".\defs\demoapp1.drc"
      'Указываем язык по умолчанию
      LangID = 0 ' Default

      PEFileProxy.PostDebugString "Редактируем String Table, используя txt файл."
      ResourcesProxy.EditStringTableFromFileW LangID, CREATE_IF_NOT_EXIST,
".\src\strings.txt"

      PEFileProxy.PostDebugString "Добавляем Message Table, используя txt файл."
      ResourcesProxy.EditMessageTableFromFileW "1", LangID, CREATE_IF_NOT_EXIST,
".\src\messages.txt"

      PEFileProxy.PostDebugString "Компилируем все изменения..."
      PEFileProxy.Compile

      PEFileProxy.PostDebugString "Сохраняем изменения в новый файл..."
      PEFileProxy.SaveAsNewImage ".\release\DemoApp1.exe"
    end if
    PEFileProxy.PostDebugString "Закрываем файл..."
    PEFileProxy.CloseFile
  end if
end Sub

Чтобы посмотреть и проверить произведённые изменения в самом EXE файле, мы рекомендуем использовать Resource Tuner GUI, визуальный редактор ресурсов.

Примеры скриптов

Установив Resorce Tuner Console на свой компьютер, вы найдёте папку Demo Scripts в директории с программой. Внутри этой папки находятся 12 папок с примерами скриптов и тестовыми файлами.

Все примеры скриптов готовы к применению. Чтобы запустить выполнение скрипта, выберете соответствующий .BAT файл в любой папке с примером. Resorce Tuner Console произведёт изменения в тестовом EXE файле, находящемся в папке Src. Результирующий файл будет записан в папку Release в директории, содержащей скрипт.

 

Пошаговое руководство по использованию скриптов

 Скачать 60-дневную пробную версию Resource Tuner Console