|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
Сохранить и прочитать данные напрямую в/из EXE файла07.02.2014, 20:59. Показов 4909. Ответов 41
Метки нет (Все метки)
Нужно —сохранить и прочитать данные напрямую в/из EXE файла минуя всякие дополительные файлы жля сохранения настроек и конечно же реестр...
Чтобы, когда приходится таскать программку с компа на комп, носить только одиг файл а не папку с кучей внутри... Вобщем всякие там альтернативы типа SFX архивов меня не устраивают... Мне нужен именно этот вариант... Мини описание: ======================== Ha Form_Unload запустится BAT-ник и удалится оригинал EXEшника, заменяя его нашим файлом с дописанными в него данными. ЗАДАЧА ТАКОВА: Мне необходимо дописать в ЕХЕшник — сгенерированный .INI файл с какими лиобо параметрами. - это всё получается.... Но как этот мой .INI файл оттуда выковырять и прочитать - незнаю... Открыть файл как For Input as #<номер> не получается почему-то... PS: при первом запуске ЕХЕшника программа скидывает в реестр свой изначальный размер файла чтобы знать где его конец и от этого конца уже считать наши данные постоянно... хотя ренстр можно опустить так как при переносе с уже сохраненными параметрами прога их просто не прочтет. Вобщем проблема не в этом. А в том как выдернуть мою часть текста из файла EXE.
0
|
|
| 07.02.2014, 20:59 | |
|
Ответы с готовыми решениями:
41
Сохранить данные о книге в файл и прочитать Как сохранить и прочитать из файла содержание всего ListView |
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 07.02.2014, 21:02 [ТС] | |
|
Вот моя наработка.... тестовая версия...
0
|
|
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 07.02.2014, 21:20 [ТС] | |
|
Есть соображение о том что было бы моет быть лучше работать с вшитым файлом ремурсов, тогда не только текст можно будет хранить в файле ЕХЕ... но как это осуществить?
0
|
|
|
Модератор
|
|
| 08.02.2014, 00:23 | |
|
Это можно сделать через редактирование ресурсов https://www.cyberforum.ru/visu... ost5257709
1
|
|
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 08.02.2014, 01:06 [ТС] | |
|
Попробую. Выложу свою сюда как готова будет...
0
|
|
|
|
||
| 09.02.2014, 20:49 | ||
|
Чтение в обратном порядке: 1) сначала считываются последние (к примеру, 5) символов, в которых хранится длина INI. 2) считываете эту длину+5 от конца файла.
1
|
||
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 09.02.2014, 21:34 [ТС] | |
|
Dragokas
Да, если мой ini будет круто меняться в процессе выполнения моей программы и знать его длину наверняка будет тяжко... Я думаю пример с записью в ресурс и выгрузкой оттуда - мне подходит и символы не теряются... так наверное можно будет и картинки обговлять... да и вообще любой ресурс. Просто еще задачка... если создать программным путем кнопку, то как ее сохранить на всегда присвоив ей определенный код... тоечть тут уже не в среде разработки кнопка дрлжна создаться и сохраниться, а в уже скомпилированом ЕХЕшнике...
0
|
|
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 09.02.2014, 22:37 [ТС] | |
|
Но а если длина будет например более той что запрограмировагаина считывание, тоесть не 5 знаков с конца а 4 или 6...
0
|
|
|
|
|||
| 09.02.2014, 22:46 | |||
|
10 Кб или 100. Лично сам таких огромных никогда не видел. Изначально ведь речь не шла о хранении картинок. Если зарезервируете хоть 10 символов, думаю, лишние 10 байт EXE на скорость программы не повлияют
0
|
|||
|
Модератор
|
||
| 09.02.2014, 23:04 | ||
|
1
|
||
|
|
|
| 09.02.2014, 23:07 | |
|
The trick, кстати, а как Вы представляете алгоритм замены ресурса в EXE-шнике, который в данный момент уже запущен (по заданию - должен быть только 1 EXE)?
Ну, я как вариант, вижу - хранить перепаковщик тоже в ресурсах.
0
|
|
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 09.02.2014, 23:17 [ТС] | |
|
За нули спасибо ))) что-то не подумал о них )) ну да, вы правы - 10кб не замечу ))
0
|
|
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 09.02.2014, 23:27 [ТС] | |
|
The trick
Если есть - надо его найти. Но при работе файла доступ на запись винда к нему закрывает. Поэтому при сохранении - прога копирует имеющийся экзешник, а лучще будет оригигал в ресурс кинуть, тоесть извлекает его в отдельный файл, открытый для доступа, производит в него запись и ждет ( при помощи батника) когда закроется оригинал. Как тока появляется TRUE - подменяет файлы - вот и все- по идее тот же самый экзэшник перезаписан новым в то же самое место... Добавлено через 3 минуты А насчет другого способа - А как вот программка Unlocker работает? Или она принудительно убивает процесс и потом применяет действия к нем?
0
|
|
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 09.02.2014, 23:42 [ТС] | |
|
Можно и так, но тогда нужно в ресурсах и его хранить, а тут и размерчик увеличится. Хотя как вариант тоже можно рассматривать, да и функционал будет по-солиднее
0
|
|
|
Модератор
|
|
| 09.02.2014, 23:46 | |
|
У меня есть одна идея, без промежуточных файлов, но это надо реализовать и протестировать, но ТС это не будет делать скорее всего, т.к. очень сложно. Можно создать поток в другом, заведомо запущенном процессе, например в Explorer'е и оттуда переписать нужный файл. Только это будет работать только на 32 разрядный приложениях.
2
|
|
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 09.02.2014, 23:51 [ТС] | |
|
Ну это уже совсем серьезная штука получится... и если система 64битная - то не сработает?
0
|
|
|
Модератор
|
||
| 10.02.2014, 00:11 | ||
|
Добавлено через 1 минуту Я как-нибудь сделаю пример на эту тему, обязательно.
2
|
||
| 10.02.2014, 00:11 | |
|
Помогаю со студенческими работами здесь
20
Как прочитать иконки из ресурсов exe файла?
Прочитать данные из файла. Прочитать данные из файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2.
Номеклатура. . .
|