Уроки по Delphi



         

Урок23. Защита программы от бесплатного использования. Испытательный срок. - часть 6


:povtor

del ВАША_ПРОГРАММА

if exist ВАША_ПРОГРАММА goto povtor

Далее запускаете этот bat файл на выполнение командой WinExec или ShellExecute, после чего закрываете свою программу. Используя преимущества многозадачности системы, вы порождаете внешний процесс, который удалят вашу программу.

Для тех, кто не знаком с командами DOS разъясняю. Первая строчка является меткой, к которой можно перейти из любой строки bat файла командой GOTO. Вторая строка пытается удалить вашу программу с диска. Пока ваша программа запущена, ей это не удастся сделать. Третья строка проверяет наличие файла на диске. Если он еще не удален, то происходит переход на метку з названием POVTOR, где снова производится попытка удалить программу.

Откровенно скажу, что этот цикл повторится не один раз, пока ваша запущенная EXE программа не исчезнет, но я вас уверяю, что пользователь не успеет глазом моргнуть, как для него все будет уже закончено. Единственным следом разрушающей деятельности останется этот BAT файл, а может и не остаться, если вы четвертой строкой укажете:

del ТЕКУЩИЙ_BAT_ФАЙЛ

Я пробовал, BAT файл действительно может удалить сам себя.

А теперь три примера для каждой рассмотренной группы.

Пример первый вы можете скачать по этой ссылке (5КБ). Не буду подробно останавливаться на работе этой программы, можете самостоятельно раскрыть проект и изучить работу как отдельных команд, так и всей программы в целом.

Пример второй немного сложнее.

На уроке 17 мы рассмотрели методы сохранения данных в реестр. Скажу, что такая методика для нашего случая не подходит т.к. все данные записываются в раздел HKEY_CURRENT_USER, и в многопользовательской операционной среде такие данные будут вестись по-разному. Когда время для одного пользователя истечет, то программой может пользоваться другой пользователь. А их может быть неограниченное количество. Нам же надо все данные писать в одно место реестра. Выберем это место HKEY_LOCAL_MACHINE\SOFTWARE с подключом, например LAB. Название подключа можете придумать самостоятельно, а опытные пользователи, имеющие опыт работы с реестром, вообще могут придумать оригинальное место хранения данных своей программы. Вообще, в HKEY_LOCAL_MACHINE\SOFTWARE пишут свои данные различные программы. Перед началом написания такой программы не забудьте добавить в раздел подключаемых модулей Uses модуль Registry для работы с реестром.

Пример можно забрать по этой ссылке

(4КБ).

В третьем примере вы можете узнать, как программа уничтожает себя и все свои данные. Ее вы можете забрать по этой ссылке

(3КБ). Пример удаления запущенной EXE программы был взят мной из моей же программы, в которой есть свойство автоматического обновления по сети.

С уважением, ведущий уроков Semen semen@krovatka.net




Содержание  Назад  Вперед