Форум: "Начинающим";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];
ВнизСохранение настроек программы в её исполняемом файле. Найти похожие ветки
← →
AlexanderMS © (2007-06-19 19:21) [0]Хотелось бы осуществить сохранение настроек программы в её exe-файле. Как можно и как лучше: через сохранение данных в ресурсы либо непосредственной записью в exe-файл без использования ресурсов? Посоветуйте, пожалуйста. Просто я не нашёл примера записи ресурса в файл (искал плохо, быть может: везде - чтение уже присоединённого). Во втором случае я нашёл пример, где настройки пишутся в конец исполняемого файла. Это правильно? Ошибок не будет? Объясните, пожалуйста, как правильно сделать.
← →
Kolan © (2007-06-19 19:24) [1]По сабжу поиши по форуму, с месяу назад было.
По нормальному — ненадо так делать, используй отдельный файл(.ini, .xml)…
← →
TUser © (2007-06-19 19:30) [2]В ресурсы. См. UpdateResource. Запускаешь из себя вспомогатльную прорграмму, которая ждет завершения твоей проги и обновляет ресуры основного экзешника.
← →
Anatoly Podgoretsky © (2007-06-19 19:55) [3]> AlexanderMS (19.06.2007 19:21:00) [0]
Из другой программы.
← →
oxffff © (2007-06-19 20:39) [4]
> Объясните, пожалуйста, как правильно сделать.
Производишь разбор PE файла.
Добавляешь секцию необходимого размера, и производишь запись в нее.
← →
oxffff © (2007-06-19 20:48) [5]Либо дописываешь в существующую секцию согласно FileAlignment из IMAGE_OPTIONAL_HEADER, если конечно хватит.
← →
Desdechado © (2007-06-19 21:32) [6]> сохранение настроек программы в её exe-файле
Дурь, имхо.
Из папок без возможности записи не запустится (тем паче с CD), да и антивирусы визжать будут.
← →
Rial © (2007-06-20 00:49) [7]А еще можно вот так сделать:
Type
TOptions = record //тут все настройки
...
end;
TMyRec = record
Flag : Array[0 .. $10 - 1] of Byte;
Options : TOptions;
end;
Const
MyRec : TMyRec =
(Flag : (...); - рандомный набор байт
Options : (..) - настройки
);
Теперь в программе можно просто читать настройки из константы.
А при закрытии запускать еще один процесс, который будет
находить уникальную последовательность байт, а сразу за ней
перезаписывать данные в нашу константу.
П.С. но не стоит этим увлекаться, не всегда тут все так просто. %)
← →
Плохиш © (2007-06-20 01:27) [8]Да не переведутся любители изобретать велосипеды с квадратными колёсами. Аминь...
← →
Германн © (2007-06-20 01:35) [9]
> Плохиш © (20.06.07 01:27) [8]
>
> Да не переведутся любители изобретать велосипеды с квадратными
> колёсами. Аминь...
>
Переведутся. Виста (не к ночи будь упомянуто это ненавистное для меня имя!) их всех вырвет с корнем :)
← →
Rial © (2007-06-20 01:59) [10]> [8] Плохиш © (20.06.07 01:27)
> Да не переведутся любители изобретать велосипеды с квадратными
> колёсами. Аминь...
А еще можно сохранять настройки в заголовке mp3 файла
или в загрузочном секторе диска...
← →
Джо © (2007-06-20 05:59) [11]2 AlexanderMS ©
Ну, вот, пожалуйста, объясните, зачем это нужно?
← →
Riply © (2007-06-20 06:26) [12]> [11] Джо © (20.06.07 05:59)
А самому не догадаться ? :)
По моему все очевидно. :)
← →
TUser © (2007-06-20 07:39) [13]Я видел программу, которая настройки сохраняла стеганографически в картинке на раб. столе. Выяснилось эот применением бубна при устранении глюка, возникшего после смены обоев.
← →
Dimaxx © (2007-06-20 10:10) [14]offtop:
> $10 - 1
Никогда не понимал людей пишущих такой изврат... Тяжело написать 15? :)
← →
Rial © (2007-06-20 10:27) [15]> [14] Dimaxx © (20.06.07 10:10)
> > $10 - 1
> Никогда не понимал людей пишущих такой изврат... Тяжело
> написать 15? :)
В конечном счете код все равно будет сгенерирован идентичный,
но только $10 - 1 сразу намекает на размер массива.
И проще модифицировать в случае, если вместо числа
там будет константа.
Да и вид шестнадцатеричный как- то привычнее.
П.С. видимо, утро не задалось ? :)
← →
Dimaxx © (2007-06-20 14:35) [16]
> но только $10 - 1 сразу намекает на размер массива
Ыы, вот как раз 0..15 сразу намекает на размер массива, а $10-1 как-то не особо.
← →
Сергей М. © (2007-06-20 14:53) [17]
> AlexanderMS © (19.06.07 19:21)
В ресурсы гораздо проще.
Впрочем, хоть даже и не в ресурсы, но метода "грязного хака" не миновать.
Ну а "грязный хак" есть "грязный хак" - этим все сказано.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.052 c