Интеграция манифеста в программу на Delphi

В версии Delphi XE2, на конец то, была добавлена возможность подключать кастомный манифест к проекту. А до этого выкручивались как могли.

В основном, при необходимости подключить свой манифест (обычно для получения прав администратора), шли следующим путем:

  1. Создавали файл манифеста ProjectName.exe.manifest
  1. Создавали файл ресурсов manifest.rc
  1. Далее компилируется файл ресурсов
  1. Откомпилированный файл ресурсов подключается к проекту
  1. И последнее действие, это отключение "runtime themes". В результате чего все интерактивные элементы приложения принимали классический вид. Обойти данный пункт нельзя было, так как в противном случае к исходной программе подключалось два манифеста, и достичь желаемого результата не удавалось.

У меня, в свое время, возникла острая необходимость получить права администратора и при этом использовать "runtime themes". Методом "научного тыка" я определил, что delphi генерирует файл манифеста при создании нового проекта и кладет его в самый конец файла ресурсов ProjectName.res. И, что примечательно, манифест создается один раз и больше не изменяется. Я решил подменить манифест и для этой цели сделал небольшую программу. Единственная проблема состоит в том, что так как файл ресурсов уже откомпилирован, то есть бинарный, количество символов во внедряемом манифесте не должно превышать количество символов исходного манифеста.

Программа для изменения манифеста в проектах Delphi

Программа простая и интуитивно понятная. Кастомный манифест можно загрузить из файла или прописать вручную. Функция интеграции находится тут «Файл»->«Интегрировать манифест». Выбранный файл ресурсов перезаписывается, а старая копия сохраняется с расширением «bk».

Если возникает проблема с количеством символов, то можно манифест подредактировать прямо в окне программы. Как вариант можно по удалять лишние пробелы и переносы строк.



Скачать:
Программа для интеграции кастомного манифеста в проекты на Delphi версии ниже XE2 с исходниками
 
Поделиться:

Новости сайта

16.10.2019 12:45
Экспорт Google Sheets в PDF файл
Пример экспорта Google таблицы в PDF файл с помощь Google Script
09.10.2019 02:20
Обновлена версия компонентов для Delphi
Опубликована новая версия компонентов для Delphi от 9.10.2019 г.
22.09.2019 22:31
Добавлено описание модуля KRVCheckBox.pas
KRVCheckBox - интерактивный элемент мониторинга и управления удаленным устройством
14.09.2019 16:00
Добавлено описание модуля KRVariables.pas
KRVariables - виртуальные классы для работы с переменными удаленного устройства

Популярные статьи

Пример передачи данных по протоколу Modbus на Delphi
Пример передачи данных с контроллера ОВЕН ПЛК100 в программу на Delphi по протоколу Modbus
Набор компонентов для Delphi
Набор компонентов для Delphi включает в себя компонент для работы с файловой системой, сетью, автоматизацией и другие.
Modbus Slave на Arduino
Реализация клиентской части протокола Modbus RTU и Modbus ASCII для контроллеров Arduino
Мини SCADA система на Delphi
Демонстрация интерактивных компонентов мониторинга и управления для Delphi