Когда мы говорили про автоматизацию в компьютере , то основная идея была такая: мы один раз учим компьютер делать что-то важное для нас, а дальше компьютер делает это сам в нужный момент.
Сегодня поговорим про первую часть — как с помощью встроенных скриптов научить компьютер делать то, что нам нужно.
Принципиальное решение
Служебные программы ресурсов
В этом разделе описываются две служебные программы, используемые для создания приложений MUI. Хотя MUIRCT является средством, зависящим от MUI, MUI также использует стандартную служебную программу windows RC Compiler. Инструкции по использованию этих служебных программ приведены в разделах Локализация ресурсов и Создание приложения.
Служебная программа MUIRCT
MUIRCT (Muirct.exe) — это программа командной строки для разделения стандартного исполняемого файла на LN-файл и языковые (то есть локализуемые) файлы ресурсов. Каждый из результирующего файла содержит данные конфигурации ресурсов для сопоставления файлов. MUIRCT входит в Microsoft Windows SDK для Windows Vista.
Julivi — Служебная программа «Утилиты»
Начиная с Windows Vista загрузчик ресурсов Win32 обновляется для загрузки ресурсов из файлов языка и LN.
Использование MUIRCT
- Разделите двоичный файл на main двоичный и многоязыковый файл на основе rc_config файла. Muirct -q rc_config [-c checksum_file [-b LangID]] [-x LangID] [-g LangId] [-f] [-m] [-v level] source_file [output_LN_file] [output_MUI_file]
- Извлеките контрольную сумму из checksum_file и вставьте ее в output_file. Muirct -c checksum_file [-b LangID] -e output_file
- Вычислите контрольную сумму на основе checksum_file и вставьте ее в output_file. Muirct -c checksum_file [-b LangID] -q rc_config -z output_file
- Дамп содержимого данных конфигурации ресурсов из input_file. Muirct -d input_file
Синтаксис MUIRCT
MUIRCT может принимать направление из параметров командной строки или из файла конфигурации ресурсов, указанного с помощью параметра -q.
muirct [-h|-?] [ -c checksum_file] [-b langid] ] [-g langid] [-q resource configuration file] [-v level] [-x langid] [-e output_file] [-z output_file] [-f] [-d MUI’ized file] [-m file_version] source_filename [language_neutral_filename] [mui_filename]
Параметры и аргументы
[!Примечание]
Файл LN не должен содержать строк или меню. Их следует удалить вручную.
- В исходном двоичном файле нет локализуемых ресурсов.
- Единственным языком ресурсов, найденным в исходном двоичном файле, является нейтральный язык.
- Исходный двоичный файл содержит ресурсы для нескольких языков, не считая нейтрального языка. Если двоичный файл содержит ресурсы для двух языков и один из них является нейтральным языком, программа считает файл моноязычным и создает файл ресурсов для конкретного языка при наличии локализуемых ресурсов.
Выходные данные языка MUIRCT
MUIRCT выбирает значение атрибута UltimateFallbackLanguage для вставки в данные конфигурации ресурсов файла LN в соответствии со следующим порядком от самого высокого до самого низкого:
Служебные программы
- Атрибут UltimateFallbackLanguage в файле конфигурации исходного ресурса, если он передается в качестве входных данных.
- Язык, заданный параметром -g.
- Язык входных файлов.
MUIRCT выбирает значение атрибута language для вставки в данные конфигурации ресурсов MUI-файла в следующем порядке:
- Атрибут language в файле конфигурации исходного ресурса, если он передается в качестве входных данных.
- Язык, заданный параметром -x (язык принудительного применения).
- Язык входных файлов.
Обработка контрольной суммы MUIRCT
Операционная система обычно вычисляет контрольную сумму по ресурсам конкретного языка в файле, если вы не указываете контрольную сумму в файле конфигурации ресурсов. Если контрольная сумма одинакова для LN-файла и всех связанных файлов ресурсов, относящихся к конкретному языку, а также атрибута языка в конфигурации ресурса в соответствии с LN и языком, загрузчик ресурсов может успешно загружать ресурсы.
MUIRCT поддерживает несколько методов размещения соответствующих контрольных сумм в данных конфигурации ресурсов:
- Создайте исполняемый файл для каждого языка, содержащий как код, так и ресурсы. После этого используйте MUIRCT, чтобы разделить каждый из этих файлов на файл LN и файл ресурсов для конкретного языка. MUIRCT выполняется несколько раз, один раз для создания файла ресурсов для каждого языка. Сборку можно выполнить следующими способами:
- Используйте параметр -q, чтобы указать значение контрольной суммы в файле конфигурации ресурса. MUIRCT помещает это значение во все созданные файлы LN и файлы ресурсов для конкретного языка. Необходимо принять стратегию выбора этого значения, как описано далее в этом разделе.
- Используйте параметр -c (и, при необходимости, параметр -b), чтобы выбрать один язык с ресурсами, из которого MUIRCT извлекает контрольную сумму.
- Используйте параметр -z, чтобы выбрать один язык с ресурсами, из которого MUIRCT всегда извлекает контрольную сумму. Примените эту контрольную сумму после создания файлов с помощью других методов.
Наиболее распространенным соглашением для обработки контрольной суммы является основание контрольной суммы на английском языке (США) ресурсов. Вы можете принять другое соглашение, если оно согласовано для каждого файла LN.
Например, для предприятия по разработке программного обеспечения вполне приемлемо основывать свои контрольные суммы в программном обеспечении, которое оно строит на французских (Франция) ресурсах, а не на английском (США) ресурсах, при условии, что все приложения имеют французские (Франция) ресурсы, на которых можно основывать контрольные суммы. Также допустимо использовать файл конфигурации ресурсов для назначения произвольного шестнадцатеричного значения, равного 16 шестнадцатеричным цифрам, в качестве контрольной суммы. Последняя стратегия исключает эффективное использование коммутаторов -z, -c и -b MUIRCT. Для создания значений контрольной суммы требуется внедрение метода с использованием GuidGen или другого средства. Эта стратегия также требует настройки политики для определения времени изменения значения при добавлении новых локализуемых ресурсов.
Чтобы применить контрольную сумму на английском языке (США) ко всем файлам, можно использовать любой из описанных выше методов обработки контрольной суммы. Например, можно создать файл LN и файл ресурсов для конкретного языка для английского языка (США), а затем использовать параметр MUIRCT -d для получения итоговой контрольной суммы. Вы можете скопировать эту контрольную сумму в файл конфигурации ресурсов и использовать параметр -q с MUIRCT, чтобы применить контрольную сумму ко всем остальным файлам.
Использование файла конфигурации ресурсов с MUIRCT
При использовании MUIRCT можно указать данные конфигурации ресурсов. Независимо от того, предоставляете ли вы явно файл конфигурации ресурсов, каждый файл ресурсов для конкретного языка содержит данные конфигурации ресурсов, как и любой LN-файл со связанным файлом ресурсов. Пример:
- Если вы используете параметр -q, чтобы указать файл конфигурации ресурсов, но во входном исходном файле нет локализуемых ресурсов, файл ресурсов для конкретного языка не создается, а результирующий LN-файл не содержит данных конфигурации ресурсов. Кроме того, если входной исходный файл содержит многоязычные ресурсы, MUIRCT не будет разделять файл.
В настоящее время поведение MUIRCT является несогласованным, если элемент neutralResources файла конфигурации ресурсов не содержит элементов resourceType, а элемент localizedResources содержит строки и меню, например. В этом случае MUIRCT разделяет ресурсы следующим образом:
- Все ресурсы в исходном двоичном файле (включая строки и меню), а также ресурсы MUI помещаются в LN-файл.
- Строки, меню и ресурсы MUI помещаются в соответствующий файл ресурсов для конкретного языка.
Примеры использования MUIRCT
Примеры стандартного использования
muirct -q mui.MMF bar.exe barnew.exe barnew.exe.mui muirct -d myprog.exe.mui
Пример вывода LN-файла с помощью параметра -d
Ниже приведен пример выходных данных конфигурации ресурсов из LN-файла Shell32.dll с помощью параметра -d с MUIRCT:
Signature — fecdfecd Length — 148 RC Config Version — 10000 FileType — 11 SystemAttributes — 100 UltimateFallback location — external Service Checksum — 14f44a8d86bef14af26d9a885964c935 Checksum — f5b3b7ab330439d6fcc07582c3afb613 MainNameTypes — AVI FTR ORDERSTREAM TYPELIB UIFILE XML MUI MainIDTypes — 1 2 3 12 14 16 24 MuiNameTypes — MUI MuiIDTypes — 2 3 4 5 6 9 14 16 UltimateFallbackLanguage — en-US
Пример вывода файла ресурсов Language-Specific с помощью параметра -d
Ниже приведен пример выходных данных конфигурации ресурсов из MUI-файла Shell32.dll.mui с помощью параметра -d для MUIRCT:
Signature — fecdfecd Length — c8 RC Config Version — 10000 FileType — 12 SystemAttributes — 100 Service Checksum — 14f44a8d86bef14af26d9a885964c935 Checksum — f5b3b7ab330439d6fcc07582c3afb613 MainNameTypes — MUI MainIDTypes — 2 3 4 5 6 9 14 16 Language — en-US
Служебная программа компилятора RC
Компилятор-кандидат (Rc.exe) — это программа командной строки для компиляции файла скрипта определения ресурса (расширение RC) в файлы ресурсов (расширение RES).
Компилятор-кандидат входит в пакет WINDOWS SDK. В этом документе объясняется только использование компилятора-кандидата с возможностями загрузчика ресурсов, связанными с MUI. Полные сведения о компиляторе см. в разделе Сведения о файлах ресурсов.
Компилятор-кандидат позволяет создавать из одного набора источников LN-файл и отдельный файл ресурсов для конкретного языка. Что касается MUIRCT, файлы связаны с данными конфигурации ресурсов.
Синтаксис компилятора RC, используемый для ресурсов MUI
Параметры компилятора-кандидата подробно определены в разделе Использование версии-кандидата. В этом разделе определяются только параметры, используемые для создания ресурсов MUI. Помните, что каждый параметр не учитывает регистр. Предполагается, что типы ресурсов являются не зависящими от языка, если не указано иное.
rc [-h|-?] -fm mui_res_name [-q rc_config_file_name] [-g langid] [-g1 ] [-g2 version]
Параметры и аргументы
- В RC-файле нет локализуемых ресурсов.
- Единственным языком ресурсов, найденным в RC-файле, является нейтральный язык.
- RC-файл содержит ресурсы для нескольких языков, не считая нейтральных языков. Если RC-файл содержит ресурсы для двух языков и один из них является нейтральным языком, компилятор считает файл одноязычным. При наличии локализуемых ресурсов компилятор создает файл ресурсов для конкретного языка.
[!Примечание]
Процесс разделения компилятора-кандидата работает неправильно, если вы храните ресурсы и сведения о версии в разных файлах конфигурации ресурсов. В этом случае компилятор-кандидат не разделяет сведения о версии. Поэтому при связывании файла ресурсов для конкретного языка возникает ошибка компоновщика, так как файл не содержит ресурсов версии.
Пример использования компилятора-кандидата для создания ресурсов MUI
Чтобы проиллюстрировать операцию компилятора-кандидата с ресурсами MUI, давайте рассмотрим следующую командную строку для файла ресурсов Myfile.rc:
rc -fm myfile_res.res -q myfile.rcconfig myfile.rc
В этой командной строке компилятор-кандидат выполняет следующие действия:
- Создайте файл ресурсов для конкретного языка Myfile_res.res и файл ресурсов, не зависящий от языка, который по умолчанию имеет значение Myfile.res на основе имени RC-файла.
- Добавьте 2 (элемент 5 6 7 8 9 10 11 12), 4, 5, 6, 9, 11, 16, 23, 240, 1024 MY_TYPE в RES-файл для конкретного языка, если они находятся в RC-файле.
- Добавьте тип ресурса 16 вместе с другими типами ресурсов, описанными в файле ресурсов, в не зависящий от языка RES-файл и в RES-файл для конкретного языка. Обратите внимание, что в этом примере тип ресурса 16 добавляется в двух местах.
- Выберите значение атрибута UltimateFallbackLanguage для вставки в данные конфигурации ресурсов файла LN на основе следующих критериев, упорядоченных от самого высокого к самому низкому:
- Атрибут UltimateFallbackLanguage в файле конфигурации ресурсов, если он передается в качестве входных данных.
- Значение атрибута языка для вставки в данные конфигурации ресурса на основе порядка языка компилятора-кандидата (нейтральный язык и язык файла ресурсов для конкретного языка). Рекомендации включают язык в RC-файле, языковое значение параметра -gl и 0x0409 идентификатора для английского языка (США).
Комментарии
Если в элемент neutralResources включен какой-либо тип ресурса ICON(3), DIALOG(5), STRING(6) или VERSION(16), необходимо дублировать эту запись в элементе localizedResources в файле конфигурации ресурсов.
Источник: learn.microsoft.com
Презентация Служебные программы Утилиты онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Служебные программы Утилиты абсолютно бесплатно. Урок-презентация на эту тему содержит всего 14 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов — поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Информатика » Служебные программы Утилиты
Просмотр ВСЕЙ презентации! ЖМИТЕ
Источник: freepresentation.ru