Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2016, 17:30   #1
m0nr
Пользователь
 
Регистрация: 08.01.2016
Сообщений: 27
Восклицание Вопрос по ресурсам

Привет. У меня возник вопрос, как реализовать изменение ресурса, в уже скомпилированной программе? (Изнутри программы)
К примеру, пишу софт:
Код:
program soft;

uses
  windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShellAPI;
 {$R FILE.RES}
{$R *.res}

type
TSarray = array of string; 
---
Тут функции, процедуры и т.д.
--
    end.
Мне нужно реализовать изменение ресурса "{$R FILE.RES}", уже на ходу, когда программа будет скомпилирована.
m0nr вне форума Ответить с цитированием
Старый 12.01.2016, 17:38   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

WinAPI функции в помощь:
BeginUpdateResourceW
UpdateResourceW
EndUpdateREsourceW

Изменять собственный exe когда он работает - не получится.
Копируете свой exe, меняете данные в копии, далее создаете батник, запускаете его, закрываетесь сами, батник ждет пока умрет процесс, затем удаляет старый exe, переименовывает измененный в старое имя, запускает его и удаляет сам себя.

Последний раз редактировалось Человек_Борща; 12.01.2016 в 17:43.
Человек_Борща вне форума Ответить с цитированием
Старый 12.01.2016, 17:41   #3
m0nr
Пользователь
 
Регистрация: 08.01.2016
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
WinAPI функции в помощь:
BeginUpdateResourceW
UpdateResourceW
EndUpdateREsourceW
А конкретно из моего проекта на делфи это реально?
m0nr вне форума Ответить с цитированием
Старый 12.01.2016, 17:56   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

ищите описания этим функций конкретно на delphi. А так-то да, можно с любого ЯП под виндой чужие бинарники менять.
Человек_Борща вне форума Ответить с цитированием
Старый 12.01.2016, 18:16   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

а зачем именно так? другого пути нет?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 12.01.2016, 18:30   #6
m0nr
Пользователь
 
Регистрация: 08.01.2016
Сообщений: 27
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
а зачем именно так? другого пути нет?
Я использую именно так ресурсы, мне удобно =)
m0nr вне форума Ответить с цитированием
Старый 12.01.2016, 18:44   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
мне удобно =)
да? ну ладно...
это, наверное, я такой сякой, привык модифицировать исходники, а не бинарники. Оказывается, есть способ лучше - править бинарник! Я отстал от жизни, какой кошмар.


Хоть не мат, но грубое ругательство. Зачем оно на форуме?
Модератор
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось Аватар; 12.01.2016 в 20:15.
min@y™ вне форума Ответить с цитированием
Старый 12.01.2016, 19:18   #8
m0nr
Пользователь
 
Регистрация: 08.01.2016
Сообщений: 27
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
да? ну ладно...
это, наверное, я такой мудак, привык модифицировать исходники, а не бинарники. Оказывается, есть способ лучше - править бинарник! Я отстал от жизни, какой кошмар.
В моём софте используется билд из ресурса, этим способом я овладел легко, и теперь им пользуюсь. Но теперь появилась необходимость заменять этот ресурс, не прибегая к новой компиляции программы.
m0nr вне форума Ответить с цитированием
Старый 12.01.2016, 19:21   #9
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
билд из ресурса
А что это такое?
Цитата:
Но теперь появилась необходимость заменять этот ресурс, не прибегая к новой компиляции программы.
Зачем?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 12.01.2016, 20:08   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
В моём софте используется билд из ресурса, этим способом я овладел легко, и теперь им пользуюсь. Но теперь появилась необходимость заменять этот ресурс, не прибегая к новой компиляции программы.
читайте мой самый первый пост ещё раз, вдумчиво. Особенно по ссылкам походите.
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сброс доступа к ресурсам ПК .Phoenix Операционные системы общие вопросы 8 25.06.2011 12:11
Аунтетификация и доступ к ресурсам Windows XP на Delphi. ZerGO Помощь студентам 0 12.10.2010 22:24
Рассылка файлов по расшаренным ресурсам redline85 Работа с сетью в Delphi 5 04.03.2010 13:06
Реализация механизмов управления доступом к ресурсам DenisVR Безопасность, Шифрование 6 14.11.2007 11:33