Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Изменить строку в уже скомпилированном ехе


Автор: Verus 1.10.2010, 17:42
Суть такая, что надо изменить значение строки не перекомпилируя проект. Например, если запускаем с ключом, то внутри заменяется эта строка и остается там уже измененной даже после закрытия приложения. Т.е. изменяется не как экземпляр в ходе выполнения а нужно переписать это значение внутри ехе.

Автор: mrbrooks 4.10.2010, 08:22
дык есть же файл конфигурации. его и юзай.

Автор: Verus 5.10.2010, 15:47
А поподробнее чуток можно? Спасибо smile

Автор: Snowy 5.10.2010, 16:13
exe нельзя изменить, когда он запущен.
Просто храни строку в реестре.

Автор: Verus 5.10.2010, 17:18
Цитата(Snowy @ 5.10.2010,  16:13)
exe нельзя изменить, когда он запущен.
Просто храни строку в реестре.

Возможно еть способ изменить из вне? Например другой прогой изменить известный блок данных?

Автор: jonie 5.10.2010, 19:51
Verus, ну есть такая методика.. однако обычно этого не требуется (как минимум антивирусы будут подозревать что вы вирус).... кроме того в MSIL придется покопаться (взять Mono (пример использования плагин Reflexi для Reflector-а)).... ну или попробывать в неуправляемых ресурсах это значение хранить (надо гуглить как работать и добавлять такие ресурсы в .NET длл-ку)

Автор: mrbrooks 6.10.2010, 08:42
Цитата(Snowy @  5.10.2010,  17:13 Найти цитируемый пост)
Просто храни строку в реестре. 

это же старомодно.
Цитата(Verus @  5.10.2010,  16:47 Найти цитируемый пост)
А поподробнее чуток можно? Спасибо 

хранить значение строки в файле конфигурации. тут уж подробнее не куда smile 

Автор: Verus 6.10.2010, 17:41
Ок, спасибо всем, сделаем все проще, или файл конфигурации или реестр smile

Автор: umlprog 7.10.2010, 09:47
Вы можете разбить ваше приложения на два:1 - загрузчик, который выполняет замену и 2 - собственно само приложения, которое вызываете Process.Start(...)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)