Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.10.2018, 04:56
TEKTON TEKTON вне форума
Новичок
 
Регистрация: 14.03.2011
Сообщения: 60
Репутация: 10
По умолчанию Добавить строки в ресурс VERSION файла

Приветствую.
Делаю типа билдера.

Мой файл выкидывает из ресурсов exe.
Потом пользователь выбирает иконку, и заполняет поля:

Имя программы,
Версия,
копирайт,
.....

Код как заменить иконку я нашёл, а вот с ресурсом VERSION никак не совладаю

Это речь о тех что в Свойства => Подробно находятся.
Спасибо.

Последний раз редактировалось TEKTON, 16.10.2018 в 05:00.
Ответить с цитированием
  #2  
Старый 16.10.2018, 08:37
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

вообще народ пишет, что такое делать нельзя.
Т.е. VERSIONINFO прилинковывается на этапе компиляции.

Вот тут есть примеры записи ресурсов (https://stackoverflow.com/questions/...nother-applic), но VERINFO это какой-то специальный ресурс, с ним может не получиться так.
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
TEKTON (16.10.2018)
  #3  
Старый 16.10.2018, 10:41
TEKTON TEKTON вне форума
Новичок
 
Регистрация: 14.03.2011
Сообщения: 60
Репутация: 10
По умолчанию

А если например в Рестораторе подабавлять необходимые поля, потом чисто дёрнуть как ресурс, а потом вставлять ?
Или дёрнуть, а потом попробовать пропатчить.
Патчеру же всё равно какие байтики менять и где )))

А в своём проекте можно динамически (в коде) добавлять такие пункты ?
И возможно ли это в консольном приложении сделать?

Последний раз редактировалось TEKTON, 16.10.2018 в 12:13.
Ответить с цитированием
  #4  
Старый 16.10.2018, 19:57
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, по поводу патчера была мысля. Только там надо не пролететь с длинной данных. Тогда должно сработать.

Нет, динамически ничего там не добавишь. Более того, имена ключей, походу, должны быть вполне определенные.

Да, можно все это делать и как консольное приложения. Собтвенно, с точки зрения реализации логики никакой разницы между GUI и консолью нет.

ЗЫ. Слушай, вот VERINFO лично меня бы интересовал в данной задаче в самую последнюю очередь. Сначала надо основные функции реализовать...
Ответить с цитированием
  #5  
Старый 16.10.2018, 20:31
TEKTON TEKTON вне форума
Новичок
 
Регистрация: 14.03.2011
Сообщения: 60
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Ну, по поводу патчера была мысля. Только там надо не пролететь с длинной данных. Тогда должно сработать.
Я вот в Рестораторе штуки три от разных програм дёрнул.
Потом смотреть различия начал.
В принципе, обычные бинарники...
Ну да ключи имеют определённое название, идут друг за другом, но в свободном расположении.
Не увидел я привязку по адресам какую нибудь, ни каких сигнатурных признаков что это именно Версион инфо файл...
Там скорее всего просто по имени ресурса этот бинарник определяется именно как Version Info (Секция Version, имя 1 (единица) всегда).
Надо попробовать чисто создать массив, названия ключей повыписывать и их последовательность, а потом чисто в бинарник скинуть и попробовать подменить в Рестораторе в какую нить прогу.

Цитата:
Сообщение от lmikle
...Сначала надо основные функции реализовать...
Ну да
Полностью согласен!
Хотя б основные функции работы с файлами и реестром.
Но чёт ничего толкового не попадается мне
В сети уйма примеров как сделать аля хелоу ворд в консоли...
А стоящих примеров работы с файлами, папками и реестром не попадается
В принципе, там функций 20 надо в общей сложности.

Код:
Работа с папками:
Копирование,
Удаление,
Переименование,
Сравнение по содержимому.

Работа с Файлами:
Копирование,
Удаление,
Переименование,
Проверка существования,
Сравнение по содержимому.

Работа с реестром:
Проверка на существование,
Создание ключа,
Копирование,
Чтение данных из ключа,
Удаление,
Поиск и замена по маске,
Запись и чтение в/из *reg файлов.

Процессы:
Убийство процесса (Тасккил),
Регистрация файлов в системе, (Dll),
Запуск процесса с параметрами (видимый/не видимый/ Привилегии),
Ожидание закрытия определённого процесса.
Так что у кого есть ссылки как прикрутить Cmd шные комманды к консольке, или может родные делфовые аналоги таких комманд, можно по тиху заполнять по списочку.
Спасиб.

Последний раз редактировалось TEKTON, 16.10.2018 в 20:38.
Ответить с цитированием
  #6  
Старый 17.10.2018, 01:05
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

там есть еще код языка, число, которое просто так в редакторе не видно.

Далее.

Работа с папками:
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)
  #7  
Старый 21.10.2018, 01:39
TEKTON TEKTON вне форума
Новичок
 
Регистрация: 14.03.2011
Сообщения: 60
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
там есть еще код языка, число, которое просто так в редакторе не видно.

Далее.

Работа с папками:
http://docwiki.embarcadero.com/CodeE...ations_(Delphi)

Работа с файлами:
http://docwiki.embarcadero.com/CodeE...ations_(Delphi)

При переходе по этим ссылкам пишет:
Цитата:
There is currently no text in this page. You can search for this page title in other pages, or search the related logs, but you do not have permission to create this page.

Насчёт запуска какого нить файла понятно:
ShellExecute или WinExec

А как выполнять другие команды cmd с параметрами?
Например:
Код:
del /S/F/Q %USERPROFILE%\AppData\Local\Temp\*.*
Или
copy /y file1.txt file2.txt
или
MKDIR  Newfolder
или
XCOPY /E/G/H/Y 'D:\myfiles\*.*' 'j:\backup\myfiles\*.*'
или
ATTRIB -R-A-S-H C:\folder /D
Можно примеров?
Или эти команды (из Cmd) не применимы в консоли Delphi?
Ответить с цитированием
  #8  
Старый 21.10.2018, 04:06
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от TEKTON
При переходе по этим ссылкам пишет:

Ну, что-то там сломалось.
Короче, есть такие классы TFile и TDirectory.
Внутри них есть методы для работы с файлами и папками.

Цитата:
Сообщение от TEKTON
Насчёт запуска какого нить файла понятно:
ShellExecute или WinExec

А как выполнять другие команды cmd с параметрами?
Например:
Код:
del /S/F/Q %USERPROFILE%\AppData\Local\Temp\*.*
Или
copy /y file1.txt file2.txt
или
MKDIR  Newfolder
или
XCOPY /E/G/H/Y 'D:\myfiles\*.*' 'j:\backup\myfiles\*.*'
или
ATTRIB -R-A-S-H C:\folder /D
Можно примеров?
Или эти команды (из Cmd) не применимы в консоли Delphi?

читаем внимательно описание ShellExecute.
Там есть спец. параметр для параметров командной строки.
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
TEKTON (21.10.2018)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:04.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter