Форум: "Основная";
Текущий архив: 2006.05.07;
Скачать: [xml.tar.bz2];
ВнизДобавить информацию в EXE-шник Найти похожие ветки
← →
kyn66 © (2006-03-30 18:25) [0]Скажите, возможно-ли во время работы программы добавлять в саму себя некие данные, ну типа счетчик запусков и т.д.?
← →
Rial © (2006-03-30 21:18) [1]В сам запущенный EXE-шник -нет.
Пиши в INI файл или т.п.
Либо открывай другой EXE-шник, закрывай этот, новым добавляй в старый что-то, опять запускай старый, закрывай новый.
Вот только что ты такое хочешь добавить в EXE-шник, не понимаю. Вряд ли ты сможешь осуществить то что тебе надо твоим способом, если задал такой вопрос ...
← →
kutuzov47 © (2006-03-30 23:06) [2]Почему бы тебе не пользоваться реестром?
А вообще, в программу можно добавить все чо угодно, но, как было сказано, программа не может это записать сама в себя. Есть огромное кол-во примеров по добавлению в exe музыки, картинок и т.д.
← →
kyn66 © (2006-03-31 11:16) [3]Изменения в реестре всегда можно вычислить. А мне нужно сделать скрытый счетчик запусков программы.
← →
Сергей М. © (2006-03-31 11:24) [4]
> мне нужно сделать скрытый счетчик запусков программы
А если твоя программа будет запущена с read-only носителя ?
← →
kyn66 © (2006-03-31 11:45) [5]Согласен, и такое могет быть. Вот я ищу подходящий способ
← →
Сергей М. © (2006-03-31 12:35) [6]
> kyn66 © (31.03.06 11:45) [5]
Используешь, например, алладинов LPT-ключ и хранишь на его борту все что тебе заблагорассудится, в т.ч. и сч-к запусков.
Ну или USB-ключ ..
← →
kyn66 © (2006-03-31 13:07) [7]Я когда-то скачивал, но где и когда не помню некий модуль, позволяющий выполнять подобные операции. Он записывает любую инфу в конец файла.
← →
Сергей М. © (2006-03-31 13:11) [8]
> записывает любую инфу в конец файла
Угу.. особенно - в конец файла на read-only носителе ?
← →
kyn66 © (2006-03-31 13:15) [9]> Сергей М
Ну чегость ты к этому ReadOnly привязался ??? У старфорса знаш скока проверок перед запуском? Вот и тут мона проверить... если ридонли - обругать и не запускаться вааще ;-)
← →
Сергей М. © (2006-03-31 13:22) [10]
> обругать и не запускаться вааще
Тебе же именно сч-к запусков нужно вести, правильно ?
Раз ты обругал юзера, значит юзер тебя таки запустил) .. Спрашивается, почему этот факт нельзя расценивать как очередной запуск, подлежащий учету в счетчике ?
← →
kyn66 © (2006-03-31 13:44) [11]> Раз ты обругал юзера, значит юзер тебя таки запустил) ..
Это обругание проверяется в самом начале, призагрузке главнойформы, а сч-к уж потом срабатывает.
← →
Сергей М. © (2006-03-31 13:50) [12]
> обругание проверяется в самом начале
Ну вот так и говори, мол, меня интересует возможность хранения сч-ка фактов исполнения главной ветки алгоритма моего приложения, а не сч-ка фактов запуска моего приложения как такового.
Если аппаратные ключи не нравятся, можно хранить свой сч-к в том же реестре, но в хитрозадо закодированном виде. Многие производители ПО именно так и поступают.
← →
kyn66 © (2006-03-31 14:27) [13]Хитрозадо можно, но в данном случае будет происходить проверка на наличия значения ключа, а не как такового. Отслеживается запись и просто тупо удаляется. Счетчик пошел считать с нуля 8-(. Конечно, если предположить, что юзер изначально не начнет проверять изменения в реестре при первом запуске, то да....
← →
Сергей М. © (2006-03-31 14:42) [14]Спорить насчет "продвинутости" самого обыкновенного юзера, способного и желающего контролировать логику программера, я не буду.
Если же ты таки проникся идеей-фикс записи в pe-модуль и если read-only тебя не пугает, то схема м.б. примерно такова:
- перед завершением приложение инкрементирует сч-к и передает его значение в одну из ф-ций в составе "своей" DLL, ф-ция вызывается средствами rundll32(), кроме значения сч-ка в ф-цию параметром передается Id процесса приложения:
- вызванная в приложении "своя" DLL-ф-ция ждет завершения процесса, пишет в его EXE-файл обновленное значение сч-ка и завершает свое выполнение;
- при старте приложение проверяет наличие файла "своей" DLL и грузит ее в свое АП во избежание попытки удаления этого файла; если DLL не обнаружена (или считанное из своего файла значение сч-ка недопустимо), приложение "ругается" и немедленно завершается.
← →
kyn66 © (2006-03-31 15:17) [15]> Сергей М.
Вот это уже деловое предложение, дафай-ка поглубже разовьем твою мысль, более детально...
← →
Сергей М. © (2006-03-31 15:21) [16]
> kyn66 © (31.03.06 15:17) [15]
> дафай-ка
Дафай-дафай ..
Что конкретно не понятно ?
← →
kyn66 © (2006-03-31 15:26) [17]Если пока оставить в покое механизм обработки, изначально решить, как и где хранить DLL-ку. Т.е. ее можно вместе с прогой таскать, а можно в ресурс запихнуть, да?
← →
Сергей М. © (2006-03-31 15:57) [18]
> Т.е. ее можно вместе с прогой таскать, а можно в ресурс
> запихнуть, да?
Тебе и только тебе решать, где и как ее "таскать" и "хранить"..
Что же до меня, то я категорически против "таскания" и "хранения" файлового образа одного РЕ-модуля в файловом образе другого.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.05.07;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.011 c