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

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

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

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

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

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

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

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



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

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

05.05.2020 15:34
Новая статья про удаленное управление принтером Domino V-series
Реализация протокола передачи данных для связи с термотрансферным принтером Domino V-series из Delphi
24.04.2020 22:14
Добавлена статья по работе с сенсором Omron FQ-CR1 из Delphi
Подключение по сети к считывателю штрих-кодов Omron FQ-CR1 из программы на Delphi
17.03.2020 20:46
Обновлен пакет компонентов для Delphi
Доступна для скачивания новая версия компонентов для Delphi, от 17.03.2020г. С данной версии библиотеки доступны и на GitHub
28.01.2020 16:15
Опубликована статья о принципе работы коннекторов в Delphi
Коннектор – это объект, осуществляющий связь с внешними объектами(объектом). Внешним объектом может выступать другая программа или другое устройство, которое поддерживает тот же интерфейс или протокол связи.

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

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