|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Добавить строки в ресурс VERSION файла
Приветствую.
Делаю типа билдера. Мой файл выкидывает из ресурсов exe. Потом пользователь выбирает иконку, и заполняет поля: Имя программы, Версия, копирайт, ..... Код как заменить иконку я нашёл, а вот с ресурсом VERSION никак не совладаю Это речь о тех что в Свойства => Подробно находятся. Спасибо. Последний раз редактировалось TEKTON, 16.10.2018 в 05:00. |
#2
|
|||
|
|||
вообще народ пишет, что такое делать нельзя.
Т.е. VERSIONINFO прилинковывается на этапе компиляции. Вот тут есть примеры записи ресурсов (https://stackoverflow.com/questions/...nother-applic), но VERINFO это какой-то специальный ресурс, с ним может не получиться так. |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
TEKTON (16.10.2018)
|
#3
|
|||
|
|||
А если например в Рестораторе подабавлять необходимые поля, потом чисто дёрнуть как ресурс, а потом вставлять ?
Или дёрнуть, а потом попробовать пропатчить. Патчеру же всё равно какие байтики менять и где ))) А в своём проекте можно динамически (в коде) добавлять такие пункты ? И возможно ли это в консольном приложении сделать? Последний раз редактировалось TEKTON, 16.10.2018 в 12:13. |
#4
|
|||
|
|||
Ну, по поводу патчера была мысля. Только там надо не пролететь с длинной данных. Тогда должно сработать.
Нет, динамически ничего там не добавишь. Более того, имена ключей, походу, должны быть вполне определенные. Да, можно все это делать и как консольное приложения. Собтвенно, с точки зрения реализации логики никакой разницы между GUI и консолью нет. ЗЫ. Слушай, вот VERINFO лично меня бы интересовал в данной задаче в самую последнюю очередь. Сначала надо основные функции реализовать... |
#5
|
|||
|
|||
Цитата:
Потом смотреть различия начал. В принципе, обычные бинарники... Ну да ключи имеют определённое название, идут друг за другом, но в свободном расположении. Не увидел я привязку по адресам какую нибудь, ни каких сигнатурных признаков что это именно Версион инфо файл... Там скорее всего просто по имени ресурса этот бинарник определяется именно как Version Info (Секция Version, имя 1 (единица) всегда). Надо попробовать чисто создать массив, названия ключей повыписывать и их последовательность, а потом чисто в бинарник скинуть и попробовать подменить в Рестораторе в какую нить прогу. Цитата:
Полностью согласен! Хотя б основные функции работы с файлами и реестром. Но чёт ничего толкового не попадается мне В сети уйма примеров как сделать аля хелоу ворд в консоли... А стоящих примеров работы с файлами, папками и реестром не попадается В принципе, там функций 20 надо в общей сложности. Код:
Работа с папками: Копирование, Удаление, Переименование, Сравнение по содержимому. Работа с Файлами: Копирование, Удаление, Переименование, Проверка существования, Сравнение по содержимому. Работа с реестром: Проверка на существование, Создание ключа, Копирование, Чтение данных из ключа, Удаление, Поиск и замена по маске, Запись и чтение в/из *reg файлов. Процессы: Убийство процесса (Тасккил), Регистрация файлов в системе, (Dll), Запуск процесса с параметрами (видимый/не видимый/ Привилегии), Ожидание закрытия определённого процесса. Спасиб. Последний раз редактировалось TEKTON, 16.10.2018 в 20:38. |
#6
|
|||
|
|||
там есть еще код языка, число, которое просто так в редакторе не видно.
Далее. Работа с папками: http://docwiki.embarcadero.com/CodeE...ations_(Delphi) Работа с файлами: http://docwiki.embarcadero.com/CodeE...ations_(Delphi) Работа с реестром - есть такой класс TRegistry, в принципе там все есть, .reg файлы - просто определенного формата текстовый файл, методами из TRegistry реализуется достаточно просто. Процессы: Убить процесс, например, так: https://stackoverflow.com/questions/...-name/43775788 Регистрация dll, как я понимаю, COM-объектов. Там экспортируется специальная функция, просто надо загрузить эту dll и вызвать эту функцию. Запуск процесса: ShellExecute если не надо ждать окончания и CreateProcess, если надо ждать (там вернется хэндл процесса, далее WaitForSingleObject [кажется так]). А вообще, google в помощь. Для девелопмента искать примерно так: stackoverflow.com: Delphi [здесь ключевые слова чего искать] Вообще, очень полезный сайт для девелоперов - www.stackoverflow.com |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
TEKTON (17.10.2018)
|