главная
программы
resource tuner console
сборник примеров скриптов
Edit Strings: Пакетная замена текстовых строк в StringTable
Предлагаемый код скрипта демонстрирует использование Resource Tuner Console для редактирования StringTable и MessageTable. Одновременно можно заменить неограниченное количество строк в неограниченном количестве файлов.
Скрипт заменяет строки в тестовом EXE файле (который поставляется вместе с программой), используя значения из файла определений (definition file). Скрипт редактирует строки в StringTable и добавляет новую MessageTable, используя внешние юникодные текстовые файлы "strings.txt" и "messages.txt", в которых подготовлены строки для замены и добавления. Результирующий файл сохраняется в папку "\Demo\Release".
Примечание: при копировании кода скрипта, пожалуйста, убедитесь в отсутствии переносов строк внутри команд. Это требование VBScript: каждая команда должна располагаться целиком в одной строке.
'------------------------------------------------------------------------------
'
' Этот скрипт показывает, как:
' - Внести изменения в StringTable и в MessageTable, используя в качестве источника
' строки из внешнего юникодного текстового файла.
'
' Скрипт заменяет строки в DemoApp1.exe используя значения из:
' - файла определений "demoapp1.drc" в папке "\Demo\defs\"
' - юникодного текстового файла "strings.txt" в папке "\Demo\Src"
' - юникодного текстового файла "messages.txt" в папке "\Demo\Src"
'
' Результирующий файл сохраняется в папку "\Demo\Release".
'
'------------------------------------------------------------------------------
Sub Main
PEFileProxy.PostDebugString "Пересчёт контрольной суммы в заголовке файла разрешён."
PEFileProxy.UpdateCheckSum = True
PEFileProxy.PostDebugString "Создание резервной копии отключено."
PEFileProxy.CreateBackUp = False
PEFileProxy.PostDebugString "Открываем файл..."
PEFileProxy.OpenFile ".\demo\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 ".\demo\defs\demoapp1.drc"
LangID = 0 ' По умолчанию
PEFileProxy.PostDebugString "Изменяем StringTable, используя TXT файл..."
ResourcesProxy.EditStringTableFromFileW LangID, CREATE_IF_NOT_EXIST,
".\demo\src\strings.txt"
PEFileProxy.PostDebugString "Добавляем новую MessageTable, используя TXT файл"
ResourcesProxy.EditMessageTableFromFileW "1", LangID, CREATE_IF_NOT_EXIST,
".\demo\src\messages.txt"
PEFileProxy.PostDebugString "Компилируем все изменения..."
PEFileProxy.Compile
PEFileProxy.PostDebugString "Сохраняем изменения в новый файл..."
PEFileProxy.SaveAsNewImage ".\demo\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