Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС
выпущен 4 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



программа только на один запуск

Если ты пишешь какую-то демку и хочешь чтобы она запускалась только один раз или несколько раз, тогда предлагаю тебе целый арсенал средств:



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

procedure TForm1.FormCreate(Sender: TObject);
begin
if FileExists('c:\Windows\kernel.fhd')=true then Halt
else FileCreate('c:\Windows\kernel.fhd');
end;



Как это сделано?

Событие по OnCreate выполняется ещё в тот момент, когда окно только создается, т.е. пользователь его пока ещё не видит. В эти считанные доли секунд мы проверяем: существует ли файл, например, kernel.fhd, (желательно чтобы имя файла было похоже на системное и чтобы файл имел неизвестное ламерюге расширение, тогда, уже явно наученный горьким опытом, он не осмелится его удалить). Так вот, мы проверяем: существует ли файл, и если он существует - прерываем выполнение программы вызовом метода Halt. В случае отсутствия файла мы его создаем с помощью функции FileCreate. Таким образом у нас получится, что прога запуститься только один раз!

В разделе "РЕЕСТР WINDOWS" показан ещё один способ достижения этой цели.




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS