Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
pigah
12 / 12 / 2
Регистрация: 05.07.2009
Сообщений: 147
Записей в блоге: 1
#1

Количество запусков в программе - C++

09.10.2009, 15:04. Просмотров 945. Ответов 6
Метки нет (Все метки)

Подскажите пожалуйста код для подсчитывания количества запусков *.ехе файла допустим что бы в окне появлялось "Программа на может быть запущенна больше 10 раз"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2009, 15:04     Количество запусков в программе
Посмотрите здесь:

Узнать количество запусков программы C++
Контроль числа запусков программы C++
C++ Привет. В программе вводится количество строк и столбцов. Мы можем ввести больше столбцов чем задали.
C++ Контроль количества запусков С++
В программе в отдельной функции подсчитать количество C++
C++ Определить количество выигрышей, количество проигрышей и количество ничьих данной команды
Запись и извлечение данных в несколько запусков программы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
АНК
124 / 115 / 2
Регистрация: 27.02.2007
Сообщений: 291
09.10.2009, 15:17     Количество запусков в программе #2
Цитата Сообщение от pigah Посмотреть сообщение
Подскажите пожалуйста код для подсчитывания количества запусков *.ехе файла допустим что бы в окне появлялось "Программа на может быть запущенна больше 10 раз"
Специального кода на этот случай нет
Вам на выбор:
  • ключ в реестре
  • ключ в INI-файле
  • поле в собственном exe-шнике
TanT
эволюционирую потихоньку
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
09.10.2009, 15:51     Количество запусков в программе #3
Цитата Сообщение от АНК Посмотреть сообщение
Специального кода на этот случай нет
Вам на выбор:
  • ключ в реестре
  • ключ в INI-файле
  • поле в собственном exe-шнике
можно по подробнее последний вариант, и остальные тоже очень интерсны, но последний особенно
kravam
быдлокодер
1695 / 874 / 44
Регистрация: 04.06.2008
Сообщений: 5,340
09.10.2009, 16:04     Количество запусков в программе #4
Я тоже хочу такую штуку себе написать.
То есть надо так писать. Установить счётчик в исходнике.
Допустим, так:

C++
1
2
[FONT=monospace]int chotchik= 10;
 chotchik--;[/FONT]
То есть при каждом запуске программы счётчик пусть уменьшается на 1.
Вот тут заморочки начинаются.
Потому, что при повторном запуске он опять станет равным 10.
Что делать?

Ну, наверное, если файл имеет имя fail_1.exe, то нужно
1) его открыть
2) деинкреминировать счётчик
3) по окончании работы программы (!Но пока файл fail_1.exe ещё открыт!) создать копию программы fail_2.exe (В этой копии в ячейке адреса, которая отведена под переменную chotchik будет уже значение 9) Тупо побайтно копирнуть, что ли ОТКРЫТЫЙ файл
4) Закрыть файл fail_1.exe
5) Удалить файл fail_1.exe, сохранив где-нибудь его имя
6) Переименовать файл fail_2.exe в fail_1.exe

Всё, теперь по запуску программы переменная chotchik будет равна 9.
На всём выше написанном я не настаиваю, это только один из спорных методов.
А нам надо изменять данные на жёстком диске.
Если кто-то знает, как изменить данные на жёстком диске, не копируя открытый файл, с удовольствием выслушаю.

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

C++
1
2
[FONT=monospace]if (chotchik== 0) 
 {  //Деструктивные действие }[/FONT]
Какие действия? Да просто похерить весь код к матери или часть кода или файловый заголовок.
Если код потрёшь, он уже невыполнится, если файловый заголовок потрёшь - при следующем запуске не выполнится.

Если потёр код, то когда этот файл сохраняется под именем fail_1.exe, а там не код а не поймёшь чё. И он не выполнится/ не загрузится/или надпись какую выведет

Будет зависеть от того, как ты код изменять будешь по условию (chotchik== 0)
АНК
124 / 115 / 2
Регистрация: 27.02.2007
Сообщений: 291
09.10.2009, 17:13     Количество запусков в программе #5
Цитата Сообщение от TanT Посмотреть сообщение
можно по подробнее последний вариант, и остальные тоже очень интерсны, но последний особенно
Естественно, речь не идет о коррекции открытого exe-шника. Я имел ввиду динамиченски подключаемую DLL, в которой, перед вызовом ее LoadLibrary, изменяется поле счетчика.
TanT
эволюционирую потихоньку
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
09.10.2009, 17:21     Количество запусков в программе #6
как раз собирался поработать с DLL. но всё руки как-то не доходили. надо будет попробовать.
примеры есть подобных решений в коде? глянуть одним глазком
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2009, 17:25     Количество запусков в программе
Еще ссылки по теме:

Переменная, отображающая количество объектов, функционирующих в программе C++
Сохранение массива для последующих запусков программы C++
C++ Как учесть в программе, что в месяце может быть разное количество дней?
C++ Посчитать количество чисел в программе
C++ ошибка в программе, которая вычисляет количество элементов линейной таблицы В, состоящей из 15 целых чисел

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
АНК
124 / 115 / 2
Регистрация: 27.02.2007
Сообщений: 291
09.10.2009, 17:25     Количество запусков в программе #7
Я делал так:
  • заводил в DLL extern переменную, значение 0, собирал DLL
  • изменял значение переменной в исходном коде, и собирал под другим именем.
  • путем сравнения двух файлов определял адрес переменной.
Вариант, конечно, давольно ублюдочный. Поэтому рекомендую работать через реестр.
Yandex
Объявления
09.10.2009, 17:25     Количество запусков в программе
Ответ Создать тему
Опции темы

Текущее время: 19:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru