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

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

16.03.2011, 18:35. Показов 3697. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru