![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 08.10.2010
Сообщений: 7
|
![]()
задача в том, чтобы ограничить количество запусков приложения. например, чтобы программа запускалась 10 раз, а 11 раз - не запускалась.
у меня есть готовое решение данной программы, но смысла того, что здесь делается, понять не могу. используются два проекта: консольный FileWriter.dpr и проект ExecCounter.dpr, содержащий модуль CounterModule. (программа получает из командной строки три параметра: (1) имя файла; (2) имя строки, которую следует найти в файле; (3) значение, на которое надо заменить в файле (1) следующий за строкой (2) символ.) если кто-то поможет разобраться во всем, буду признательна. Код:
Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
![]()
Да, весьма суровый код.
В общем, основная логика: счетчик запусков хранится в двух местах - в exe-файле и в реестре (название ключа в константе key, параметра - в registryentry). При запуске основной программы (в секции инициализации модуля) проверяется, создан ли уже в реестре ключ; если создан - счетчик запусков читается оттуда, если нет - ключ создается, и счетчик берется из exe-файла. Перед завершением основной программы вызывается функция PreExit, которая запускает программу, записывающую счетчик в главный exe-файл (FileWriter). В момент запуска этого врайтера основная программа еще работает, и в ее файл писать нельзя; поэтому он ждет чуть меньше секунды (timeout), чтобы главная программа успела завершиться, потом создает измененную копию exe во временном файле (temp_path), записывает в нее счетчик, и заменяет ею основной exe-файл. Примерно так, если что-то непонятно - стукни завтра ближе к вечеру в icq 388676648, объясню подробнее ) |
![]() |
![]() |
![]() |
#3 |
Регистрация: 08.10.2010
Сообщений: 7
|
![]()
спасибо большое, но все равно не могу разобраться со многим.. в аську постучала. )
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Узнать количество запусков | qwerty3434 | Общие вопросы C/C++ | 8 | 05.06.2010 13:22 |
Ограничение количества запусков файла. | sergiksergik | Microsoft Office Excel | 3 | 04.02.2010 12:44 |
Счётчик запусков | Яр|/||< (^_^) | Софт | 4 | 15.08.2009 15:30 |
Ограничение запусков программы - Паскаль | Legolender | Помощь студентам | 3 | 26.11.2008 20:50 |
Ограничение запусков программы?? | John_chek | Общие вопросы Delphi | 14 | 24.11.2008 14:26 |