Писалась в полу сонном состоянии, за ошибки не пинать Web щит. Защищяем приложения с помощью web авторизации. Не мне вам говорить что очень не приятно когда плоды твоих трудов продают за пару баксов в вашей же теме о продаже. Как защитится от этого? Мы не софтверные компании, и поэтому нам не надо писать сложные системы защиты, триальные демо версии и прочее, т.к наши программы орентированы на интернет публику, то и авторизацию мы сделаем тоже через интернет. Плюсы этого способа, у нас не будет серийного ключа который генерируется по определённому алогоритму, нам не надо будет прятать регистрационные данные, вобще положительных сторон тут можно найти много, но теперь суть идеи, сейчас мы будем писать программу которая при запуске будет сверять серийный номер диска C с ранее отправленным номером (который хранится на нашем сервере). Begin... Создаём новый проект или открываем уже существующий. Добавляем в него ещё одну форму и пишем в Form1 (Переименуйте в Main) в событии FromCreate Form2.ShowModal; // Переименуйте в auth На форму Auth добавляем 2 Edit (Переименовываем NickEdit и SNEdit) и одну кнопку (AuthButton); Теперь пишем код для события FromCreate у формы Auth: // Глобальные перменные Думаю, тут всё понятно и комментарии к коду излишни, теперь нам надо написать ещё 2 функции функцию GetSource и процедуру GetSn благодаря который мы и узнаем серийный номер диска C. Открываем соединение, открываем урл, читаем файл, помещаем в буфер. Тут тоже должо быть всё ясно. Теперь процедура для получения серийного номера: Теперь в переменной SN содержится серийный номер диска C. Вобще лучше всего, добавить в FormClose запись из NickEdit и SN в реестр идобавить в FromCreate AuthForm что бы искала ключи в реестре с сериным номером и ником и автоматически сверяла их, ну это вы уж как нибудь сами подкорректируйте мой шаблон.
Для начала неплохо начинающим пойдёт.... кстати коменды добавь начинающим легче в коде разобраться будет.....