Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как программе записать самой в себя, для хранения какой то переменной 
:(
    Опции темы
shedon
  Дата 17.6.2003, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

Репутация: 4
Всего: 11



Есть задача: сохранить некие настройки в самой программе, как записать в саму себя confused.gif


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
Baa
Дата 17.6.2003, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Енто будет некорректно... нельзя так делать... но если уж прибило, то пиши в ресурсы или отведи под всякие настройки место, забив его чем-нить...
Только сначала надо саму программу закрыть... простое решение: программы выпихивает из ресурсов другую прогу, запускает её и закрывается, та прога пишет в первую чего надо и запускает её, а сама закрывается и соотв. первая удаляет вторую.


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
shedon
Дата 17.6.2003, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

Репутация: 4
Всего: 11



Цитата

простое решение: программы выпихивает из ресурсов другую прогу, запускает её и закрывается, та прога пишет в первую чего надо и запускает её, а сама закрывается и соотв. первая удаляет вторую.

- Это не простое решение.
А как писать в ресурсы confused.gif


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
Baa
Дата 17.6.2003, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



shedon, находишь место, где они хранятся и пишешь... все равно должна быть прога закрыта - это раз и два, довольно просто можно это под NT реализовать.


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
man2002ua
Дата 17.6.2003, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 943
Регистрация: 12.11.2002
Где: Киев

Репутация: нет
Всего: 2



Простое решение №2
Храните ресурсы и данные в DLL (динамически полгружаемой).
Когда возникает необходимость изменения данных - DLL выгружается и ее код патчится процессом, потом процесс подключает ее снова. Все.


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
Baa
Дата 17.6.2003, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



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


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
shedon
Дата 17.6.2003, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

Репутация: 4
Всего: 11



Цитата

все равно должна быть прога закрыта - это раз и два, довольно просто можно это под NT реализовать.

Но некоторые программы пишут в себя безовсяких "новых открывающихся программ". Или у них этот код на асме реализован. Такую вставку на асме можно сделать confused.gif


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
DENNN
Дата 17.6.2003, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Вот и приведи нам здесь такой код.
PM ICQ   Вверх
shedon
Дата 17.6.2003, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

Репутация: 4
Всего: 11



Это я спрашиваю как это сделать.
Просто скорее всего это делается на асме. Но так как я в асме не силён, то не знаю как это делается.


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
man2002ua
Дата 17.6.2003, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 943
Регистрация: 12.11.2002
Где: Киев

Репутация: нет
Всего: 2



*.сом файлы могут себч менять, т.к. их ничего не связывает с файлом на диске. Аналогично драйвера... Насчет exe - можно попытаться получить его образ (MapViewOfFile) и записать в него, но я не уверен, что это просто.


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
Baa
Дата 17.6.2003, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



вот на самом деле, причем тут асм? хоть обвставляйся, толку от этого не будет.


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
shedon
Дата 18.6.2003, 07:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

Репутация: 4
Всего: 11



Понятно, спасибо!


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
Antech
Дата 2.7.2003, 09:56 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Простите, если я не прав. Хотя сам субжем не занимался, наслышен о функциях API типа BeginUpdateResource(), EndUpdateResource(), UpdateResource() etc. AFAIK, они как раз и созданы для изменения ресурсов. Посмотрите Resource Functions в MSDN или VC++ Help, если они Вас заинтересовали.
  Вверх
Baa
Дата 2.7.2003, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Antech, я уже приводил пример использования этих функций, но в себе ты ресурсы ими не поменяешь (во время выполнения).


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Antech
Дата 3.7.2003, 11:49 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Baa
Ясно. Жаль, конечно, что во время исполнения это нельзя юзать...
  Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0845 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.