Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234

Возможно ли перезаписать ехе файл?

16.03.2011, 18:35. Показов 3663. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
привет всем!
Я опишу вопрос - постараюсь ясно изьясниться.
Есть прога в которой есть ComboBox - (какойто текст)
я его изменил - и хочу сохранить этот ***.ехе файл.
можно конечно сохранить отдельно тхт файл а потом при старте программы его загружать в Combobox (этот вариант мне не нравиться)
Теперь сама суть вопроса:
1 можноли програмно сохранить запущенную прогу в ***.ехе файл с новыми изменениями?
2 поскольку программа выполняеться ее нельзя ни стереть ни переименовать ни переместить!
3 или зделать так чтоб записывалось во временный файл а после завершения программы запускался типа батника или еще чего там можно придумать, и в конечном итоге уже закрытый ***.ехе удаляется а на его место с его же именем записываеться из временного файла, и по сути получаеться опять тотже ***.ехе - но уже с новыми данными в ComboBoxe
дядюшка гугл ничего мне не смог найти
ИЛИ ЭТО ВООБЩЕ НЕВОЗМОЖНО В Borlande
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.03.2011, 18:35
Ответы с готовыми решениями:

Текстовые файлы. Перезаписать файл f в файл h, так, чтобы в файле h были записаны только числа
Создать текстовый файл f, состоящий из произвольных слов и чисел, записанных в одну строку. Перезаписать содержание файла f в файл h, так,...

Файл: Как с помощью Python записать (а не перезаписать) данные из базы SQLite в файл lex.txt.
Помогите с разработкой части проекта, пожалуйста! Есть файл db.sqlite в котором таджикские слова: words А Абад Адиб Асрор ...

Перезаписать файл
Никак не найду решение - перезаписи файла. Можно ли с использованием SaveFileDialog и OpenFileDialog, перезаписать файл. Каждый раз...

29
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
16.03.2011, 18:59
не изобретайте велосипед - все это делается при помощи файла ини - тема - рядом : Подключение ini файла
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
16.03.2011, 19:06  [ТС]
LK,
спасибо за подсказку.
в моем варианте можно просто тхт файл сохранять и при запуске проги она будет автоматическе загружаться в ComboBox
но мне хочется по модернее - чтоб был только один файл
без дополнительных файлов
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
16.03.2011, 19:24
Вы можете хранить данные ComboBox'а, например, внутри ЕХЕ в Stringlist, или в ресурсах, но вам придется каждый раз компилировать ЕХЕ при изменении списка, или редактировать ресурсы, так не делается, хотя и возможно. Для этого и придуман файл ИНИ, если не хотите "лишнего" файла - храните настройки и прочее в реестре -
Работа с реестром в C++ Builder
http://articles.org.ru/cn/showdetail.php?cid=5003
и т.д.

Добавлено через 2 минуты
Цитата Сообщение от lifeforce Посмотреть сообщение
но мне хочется по модернее - чтоб был только один файл без дополнительных файлов
- не стоит перегружать ЕХЕ - напихать в него всего и все єто грузить при запуске приложения, не зря же придумали DLL и файлы настроек типа ини. Помодернее - мелкомягкие рекомендуют реестр, еще "помодернее" - файлы XML.
1
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
16.03.2011, 19:33  [ТС]
LK,
я так понял что средствами buildera это невозможно
тогда останусь на варианте - загрузка тхт. это проще и можно отдельно редактировать текст
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
16.03.2011, 19:40
Цитата Сообщение от lifeforce Посмотреть сообщение
я так понял что средствами buildera это невозможно
тогда останусь на варианте - загрузка тхт. это проще и можно отдельно редактировать текст
Без изврата это ничем невозможно, почитайте про PE Files .
А редактировать ручками можно и INI, и XML, и реестр.
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
16.03.2011, 19:49  [ТС]
LK,
мою программу пользуют много моих коллег по работе
и если кто то зделает изменения в тексте - то ему надо всем раздать созданную папку с текстовыми файлами.
но не все могут так легко разобраться что куда и чего делать
вот и была у меня идея чтоб остался тотже ехе файл после изменений.
но я скажу тогда всем пусть если кто зделал изменения в базе тогда мне просто даст папку с текстовыми файлами а я тогда перекомпилю обратно в прогу.
и потом надо будет всем опять рвздать новую версию.
а вообще былоб и неплохо реализовать автматический апдейт проги через интернет. (сейчас эта идея у меня появилась)
только я незнаю как это делается и может мне еще и сайт нужно создать?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
16.03.2011, 19:57
снова вы осложняете себе жизнь ... если сеть локальная - сохраняете настройки программы , переменные, строки и пр. в файле ИНИ на локальном сервере - все экземпляры программы при запуске загружают этот файл и у все получаются программы - близнецы , так же при изменении чего-нибудь в любой программе на любой локальной машине изменения записываются в ЕДИНЫЙ файл ИНИ, можно организовать регулярную проверку данного файла каждым экземпляром программы и внесения соответствующих изменений, но никак не могу понять , для чего оно может быть.
Другое дело - если это у вас, например, программа учета, тогда, конечно, база, но если учет не сложен - каталог товаров, например, то можно и ИНИ, и TXT, и XML. Можно и через интернет, регистрируетесь на халявном хостинге, делаете одну страничку "Это мой супер-пупер кул хацкер сайт" - и про него забываете, а в укромном месте сайта храните "тот" файлик, если админ не очень бдительный - прокатит .
1
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
16.03.2011, 20:02  [ТС]
попробую с сайтом
дело в том что нас много и мы на разных районах.
ходим по клиентам настраиваем интернет.
так что вариант создать сайт и там хранить все апдейты мне подходит.
спасибо за подсказки.
одна голова -хорошо , а две - еще лучше!
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
16.03.2011, 20:04
тогда лучше не халявный сайт - затраты - ~10 долларов в год за домен и 1 доллар в месяц за хостинг.
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
17.03.2011, 15:51
lifeforce, можно дописывать нужную инфу в конец вашего exe-файла. А при запуске считывать. Только здесь придеться повозиться с копиями программы.
0
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 477
17.03.2011, 17:17
Цитата Сообщение от NiTan Посмотреть сообщение
lifeforce, можно дописывать нужную инфу в конец вашего exe-файла. А при запуске считывать. Только здесь придеться повозиться с копиями программы.
это как открыть ехе как текствый файл, дописать инфу и закрыть ?
а можно поподробнее ?
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
17.03.2011, 18:17
koldun, нет, это открыть exe файл как двоичный файл и дописать нужную инфу. Сделать это очень легко. Сложность не в этом, а в том, что нужно ведь дописывать строку в используемый (запущенный) exe-файл - вот тут я не знаю, как делать. Хотя, нет, знаю, но вариант не хороший и сложный.
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
17.03.2011, 19:02  [ТС]
NiTan,
да, можно и дописать нужную инфу! для етого ассемблений код может зделать.
но я уже давно не програмирую на ассемблере.
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
17.03.2011, 19:36
Цитата Сообщение от lifeforce Посмотреть сообщение
да, можно и дописать нужную инфу! для етого ассемблений код может зделать
Какой еще ассемблер?
Разве так сложно открыть файл для записи и писать в него данные бинарно? Ну или записать данные в ресурсы?
Естесно что EXE-файл не должен быть запущен.
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
17.03.2011, 20:21  [ТС]
PB,
за бинарное вписывание я даже и не подумал. а что, это идея!
а ведь можно и так.
есть старт блока 000de642
и конец 000deecc
потом зпускается другая прога из ресурса в которой все измененные комбобоксы, а основная ехе прога выключается и потом вписываются по тем адресам данные из проги ресурса.
так я думаю будет работать?
но тогда будет другая проблема
если я
внесу некие дополнения в прогу то адреса автоматично изменятся. и тогда опять надо изменить адреса и в проге ресурса
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
17.03.2011, 20:24
lifeforce, лучше писать данные в конец, иначе скорее всего повредите exe-файл и он вообще не запуститься.
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
17.03.2011, 20:27  [ТС]
NiTan,
повредить можно очень легко если хоть один байт сдвинется.
дописать в конец проги более верное решение но я незнаю как это зделать
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
17.03.2011, 20:36
C++
1
2
3
4
5
6
char *text="This Was Wrote Into File"; //Данные, которые мы запишем в файл
 
        int h=FileOpen("F:\\file.exe",fmOpenWrite); //Открываем файл для записи
        FileSeek(h,0,2); //Переходим на конец файла (ведь записываем мы в конец)
        FileWrite(h,text,strlen(text)); //Записываем данные
        FileClose(h); //Закрываем файл
1
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
17.03.2011, 20:39  [ТС]
NiTan,
сейчас поэксперементирую
а как после считать? в kombobox?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.03.2011, 20:39
Помогаю со студенческими работами здесь

Потерял cpp файл, а ехе-шник остался. Можно как-то декомпилировать файл обратно?
Потерял cpp файл, а ехе-шник остался. Можно как-то декомпилировать файл обратно?

Перезаписать файл .ini
Здравствуйте , мне нужно перезаписать .ini файл , при этом изменить в нём строку мой код: try { ...

Перезаписать файл html
Доброго времени суток. Может кто подсказать как перезаписать файл html? Добавлено через 21 минуту Всем спасибо! Нашел...

Как перезаписать файл?
Есть файл Есть прога которая считает сумму чисел после фамилии и инициалов и лишние пробелы удаляет(если они есть).#include...

Перезаписать текстовый файл.
Подскажите пожалуйста. У меня такая проблема, мне нужно сохранить 6 значений из Edit -ов в файл, но когда сохраняю 2 и послед. раза, мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 17.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru