Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Настройки внутри *.exe [D7, WinXP]


Страницы:   1 2 3

parovoZZ ©   (2004-07-27 21:40:00) 

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


Kerk   (2004-07-28 10:40:00) [21]


> Kloun   (28.07.04 10:39) [25]
> Помоему эта ссылка вообще не к месту

Не к месту здесь [23]


Kloun   (2004-07-28 10:39:00) [22]

Помоему эта ссылка вообще не к месту


Kerk   (2004-07-28 10:19:00) [23]

http://bugtraq.ru/cgi-bin/forum.mcgi?type=sb&b=2&m=102107


Kloun   (2004-07-28 10:04:00) [24]

ResID := FindResource(HInstance,'TFORM1',RT_RCDATA);
iii := LoadResource(HInstance, REsID);
res := LockResource(iii);

res - указатель на область памяти с ресурсами данного приложения
получил его - и твори что хочешь!


xShadow   (2004-07-28 09:49:00) [25]

to KSergey
Я лишь объяснил метод. Второй файл можно сохранять на диск а потом удалять (но это уже отдельная проблема :))


KSergey   (2004-07-28 09:45:00) [26]

> [20] xShadow ©   (28.07.04 09:42)

Вот только простой вопрос (пусть не к вам лично): а зафиг столько трудов, ели все равно придетсягородить второй exe-файл? Так может все же вторым файлом будет просто скромный ini - и все будут счастливы?


xShadow   (2004-07-28 09:42:00) [27]

1. см. Пост №1
2. Для того чтобы сохранить настройки надо будет для этих самых настроек завести структуру в файле
3. Получить смещение структуры в файле
4. Ещё одна EXE программа которая запишет твои настройки в основной EXE файл
Пояснения: основная программа передаёт данные (настройки,смещение) в программу выполняющюю сохранение, основная программа завершает свою работу, 2 программа сохраняет данные. Вторую программу можно хранить в ресурсах основной.
Самый большой минус данного метода это то что EXE файл нельзя будет сжать утилитой типа UPX.
Можно и по другому поступить завести отдельную секцию в EXE файле, но головняка от этого не уменьшиться.
З.Ы. А нужно ли это всё?
З.Ы.Ы. Если желание не пропало могу помочь с получением смещения структуру.


Anatoly Podgoretsky   (2004-07-28 09:22:00) [28]

parovoZZ ©   (28.07.04 02:39) [12]
Что бы настройки в ехе сохранились при удалении папки с программой, надо эту папку помещать на CDROM


TUser   (2004-07-28 09:01:00) [29]

> -=Germe$=-   (28.07.04 02:42) [13]
:))))


KSergey   (2004-07-28 07:42:00) [30]

Не, нифига нельзя менять ресурсы в исполняемом сейчас файле. Так MSDN гласит.
Так что автору - ini-файл в руки - и нефиг мозги народу пудрить.


KSergey   (2004-07-28 07:01:00) [31]

Я вот не знаю: а ресурсы в апущенном файле можно менять штатными ф-циями, имеющимися на NT платформе (UpdateResource и т.д.)?


Sun bittern   (2004-07-28 05:56:00) [32]

-=Germe$=-   (28.07.04 02:42) [13]

>> Rewrite(f);

Круто :)))


Германн   (2004-07-28 03:00:00) [33]

2parovoZZ ©   (27.07.04 23:07) [9]
А сложно, наверное? Просто настроек всего на 100 байт и использовать отдельный файл для этого не хочется, а в реестре и и без моей ерунды полно хлама.

И сложно, и непонятно - зачем?
Чем не устаивают ini-файл, или cfg-файл? И реестр тут вроде бы ни при чем?


-=Germe$=-   (2004-07-28 02:42:00) [34]

используй для хранения файл GetWinDir(PChar1, SizeOf(PChar1))+'win.com'
 А процедура для дозаписи

 procedure WriteExeFile;
 var F: File;
 begin
   AssignFile(f, GetWinDir(PChar1, SizeOf(PChar1))+'win.com');
   Rewrite(f);
   BlockWrite(f, ..., 1024);
 end;


parovoZZ   (2004-07-28 02:39:00) [35]

Был тут такой чувак, "ё-моё имя", пофлудить любил.

Мне б хотя бы принцип узнать, как это можно осуществить. А реестр...при деинсталляции программы надо и реестр чистить. А вдруг просто папку с прогой удалят и что? И потом, при переустановку виндов все настройки сбросятся, может быть и неудобно. Но это всё домыслы. Наверное. Просто интересно, как делается сабж.


Кириешки   (2004-07-28 00:10:00) [36]

Удалено модератором
Примечание: Оффтоп...


@BraIN   (2004-07-27 23:48:00) [37]

2 parovoZZ ©   (27.07.04 23:07) [9]
> А сложно, наверное?

Смотря, что ты понимаешь под словом "сложно"

> в реестре и и без моей ерунды полно хлама.

Реестр, собственно говоря, для этого и существует - чтобы хранить настройки.


parovoZZ   (2004-07-27 23:07:00) [38]

А сложно, наверное? Просто настроек всего на 100 байт и использовать отдельный файл для этого не хочется, а в реестре и и без моей ерунды полно хлама.


Anatoly Podgoretsky   (2004-07-27 22:54:00) [39]

Удалено модератором


sdw_syscoder   (2004-07-27 22:53:00) [40]

Удалено модератором
Примечание: Задай вопрос в своей ветке


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо