Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 03.04.2007, 11:54   #1
John_chek
Форумчанин
 
Аватар для John_chek
 
Регистрация: 24.01.2007
Сообщений: 108
По умолчанию Ограничение запусков программы??

Подскажите, как сделать ограничение запусков программы??
John_chek вне форума   Ответить с цитированием
Старый 03.04.2007, 12:18   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Что вы имеете ввиду ? что именно надо ограничить ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума   Ответить с цитированием
Старый 03.04.2007, 12:42   #3
mrandrey
Форумчанин
 
Регистрация: 30.03.2007
Сообщений: 124
Плохо

Прячешь в реестре, или еще где нибудь, например в файлик, запись при первом запуске, а потом:
1. если записал время: при запуске проверяешь сколько прошло дней с того времени если Х - то не запускаемся.
2. при каждом запуске записывать счетчик запусков, и если запуск больше Х , опять же не запускаемся
mrandrey вне форума   Ответить с цитированием
Старый 03.04.2007, 12:48   #4
John_chek
Форумчанин
 
Аватар для John_chek
 
Регистрация: 24.01.2007
Сообщений: 108
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
Что вы имеете ввиду ? что именно надо ограничить ?
Нужно, чтобы прога запускалась, например 10 раз, а потом каюк.(что-то типа триал ключа)
Цитата:
Прячешь в реестре, или еще где нибудь, например в файлик, запись при первом запуске,
Можно поподробнее?! Не работал с реестром, поэтому и спрашиваю.
John_chek вне форума   Ответить с цитированием
Старый 03.04.2007, 14:23   #5
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

Цитата:
Сообщение от mrandrey Посмотреть сообщение
Прячешь в реестре, или еще где нибудь, например в файлик, запись при первом запуске, а потом:
1. если записал время: при запуске проверяешь сколько прошло дней с того времени если Х - то не запускаемся.
2. при каждом запуске записывать счетчик запусков, и если запуск больше Х , опять же не запускаемся

Простой и не эффективный метод защиты. Поставит в тупик кракера только с двухдневным стажем. Есть программы отслеживающие изменение состояния операционной системы при определенных условиях (в нашем случае создание файла или ключа реестра при установке приложения).
merax вне форума   Ответить с цитированием
Старый 03.04.2007, 14:34   #6
mrandrey
Форумчанин
 
Регистрация: 30.03.2007
Сообщений: 124
По умолчанию

подробнее так:

uses
.... registry;
.......

implementation

procedure TForm1.FormCreate(Sender: TObject);
var reg:TRegistry;
t:integer;
begin
reg:=TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;//HK щставляешь, а там можешь выбрать доугую ветвь
// но осторожно в LocalMashine не советую там куча закрытых ключей
if reg.KeyExists('\Software\My praga')then //если путь есть
begin
reg.OpenKey('\Software\My praga',false);
t:=reg.ReadInteger('Count');
if t>=30then //если запустились 31 раз
halt //зарубуем
else
reg.WriteInteger('Count',t+1);
end
else
begin //запускаемься первый раз
reg.CreateKey('\Software\My praga');
reg.OpenKey('\Software\My praga',false);
reg.WriteInteger('Count',1);
end;
reg.Destroy;
end;
mrandrey вне форума   Ответить с цитированием
Старый 03.04.2007, 14:39   #7
mrandrey
Форумчанин
 
Регистрация: 30.03.2007
Сообщений: 124
По умолчанию

Цитата:
Сообщение от merax Посмотреть сообщение
Простой и не эффективный метод защиты. Поставит в тупик кракера только с двухдневным стажем. Есть программы отслеживающие изменение состояния операционной системы при определенных условиях (в нашем случае создание файла или ключа реестра при установке приложения).

Все равно нужно гдето, что-то записать иначе не получится, чтобы усложнить, можешь придумать инсталяшку для програмки, которая будет генерировать при установке какой-то ключ из Х символов, в котором будет зашифрована дата установки, а программа пускай считывает ключ, извлекает дату и сравнивает, а если ключа нет, то незапускается.
mrandrey вне форума   Ответить с цитированием
Старый 03.04.2007, 15:15   #8
Сильванович Михаил
Студент
Форумчанин
 
Регистрация: 10.11.2006
Сообщений: 196
По умолчанию

Можно записывать в конец файла самой программы (и при каждом запуске прога должна чекить 1-2 байт (зависит от того берешь ты или byte, или word в качестве размера счетчика, но более 2 байт, думаю, нет необходимости)), и записывать на то же место число на 1 больше. Это не привдеет к изменению размера exe, если сразу после компиляции вогнать туда #0 или #0#0, что опять же зависит от того каким типом целых ты будешь пользоваться.
Visita Interiorem Terrae Rectificando Operae Lapidem...
Сильванович Михаил вне форума   Ответить с цитированием
Старый 03.04.2007, 15:29   #9
mrandrey
Форумчанин
 
Регистрация: 30.03.2007
Сообщений: 124
По умолчанию

Можно записывать в конец файла самой программы ....



Идея плохая... если на папку в которой находиться файл, обрубить права.. "лишь для чтения", она либо вообще не запуститься, либо не сможет обновить щетчик.
mrandrey вне форума   Ответить с цитированием
Старый 03.04.2007, 17:24   #10
John_chek
Форумчанин
 
Аватар для John_chek
 
Регистрация: 24.01.2007
Сообщений: 108
По умолчанию

Спасибо всем, написал так, как советовал mrandrey, все работает! Думаю на первое время пойдет, а там думаю сделать ограничение на запись в базу данных!
John_chek вне форума   Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ограничение вертикальной прокрутки valerij Microsoft Office Excel 11 18.06.2008 18:00
Ограничение формул МИН и МАКС Bu$ter Microsoft Office Excel 2 29.05.2008 09:21
Ограничение кол-во выводимых строк в консоле.. Карась Общие вопросы Delphi 6 01.02.2008 01:54
Ограничение на вводимое кол-во символов??? serjii Microsoft Office Excel 3 05.10.2007 10:55
Ограничение ввода в Edit Макс84 Компоненты Delphi 7 23.07.2007 09:38