Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ограниченние запуска программы


Алексей ©   (2005-02-02 22:39:00) 

Помогите!!!
Нужно наложить ограничение на программу по количеству запусков.
Т.Е. допустим разрешается открыть прогамму 20 раз после чего должно появится окно с предложением зарегистрироваться.
Помогите очень нужно .


Печкин   (2005-02-04 02:02:00) [1]


>  [9] Anatoly Podgoretsky ©   (03.02.05 22:30)



> ...теперь ты за ним еще день будешь бегать, почему? Чтобы отдать.


Чтобы поддать?


Anatoly Podgoretsky   (2005-02-03 22:30:00) [2]

Мультик про Простоквашино - теперь ты за ним еще день будешь бегать, почему? Чтобы отдать.


SaveDialog12331   (2005-02-03 21:57:00) [3]

Напиши DLL которая запускается rundll32.exe после закрытия программы и вносит изменения в EXE :))))Тупой совет


Proga   (2005-02-03 17:11:00) [4]

Нет! Самому надо такое. Ну прикиньте-пишете прогу, карячитесь над ней ночами, а потом кто-то взял и присвоил и спасибо не сказал!


Alex175   (2005-02-03 14:22:00) [5]

Надо ввобще смириться и дать использовать людям программу сколько они хотят. :)


Proga   (2005-02-03 12:31:00) [6]

Alex_Petr, чёто не пойму - а где задаётся количество разрешаемых запусков?


Gloomer   (2005-02-03 09:04:00) [7]

Пожалуй, лучшее место хранения - это реестр. Только ни в коем случае не стоит хранить количество запусков в открытой форме. Применяй кодирование по своему уникальному алгоритму.
Недостаток такого метода: при помощи regmon находим ключ реестра к которому обращается прога и удаляем его.
Поэтому в процессе инсталяции задаем значение ключа и если ключа в реестре нет, значит выдаем приглашение.Но и это все равно можно обойти - запоминаем значение сразу после инсталяции и затем регулярно его восстанавливаем.


diabolik   (2005-02-03 05:13:00) [8]

Могу предложить писать количество уже произведенных запусков в свою ветку в реестре. А само количество вычислять как предложил Anatoly Podgoretsky. Можно еще хранить в dll все это вместе с функцией а в программу возвращить только результат - true false/ Так наверное даже лучше будет!


Anatoly Podgoretsky   (2005-02-02 23:33:00) [9]

N := N - 1;
if N <= 0 then Приглашение;


Alex_Petr   (2005-02-02 22:51:00) [10]

function TestDblStart(Mut:PAnsiChar):Boolean;
var
Hand:THandle;
begin
Hand:=CreateMutex(nil,True,PAnsiChar('Global\'+Mut));
Result:=GetLastError=ERROR_ALREADY_EXISTS;
if Result then Result:=Hand=0 else CloseHandle(Hand);
end;

// 'Global\' добавляешь, если надо глобально


Наверх

Титульная страница Поиск, карта сайта Написать письмо