Приведу небольшой участок кода, позволяющий быстро создать защиту для SHAREWARE-программ, которая, тем не менее не ущемляет функциональность программы, но настоятельно просит ее зарегистрировать и закрывает ее при каждом повторном запуске (жестоко, да? :) )
Технология данного метода заключается в том, что пользователь может запустить программу только один раз за текущий сеанс Windows.
Используйте обработчик события FormShow:
procedure TForm1.FormShow(Sender : TObject); var atom : integer; CRLF : string; begin if GlobalFindAtom('THIS_IS_SOME_OBSCUREE_TEXT') = 0 then atom := GlobalAddAtom('THIS_IS_SOME_OBSCUREE_TEXT') else begin CRLF := #10 + #13; ShowMessage('Данная версия предусматривает только один запуск в текущем сеансе Windows.' + CRLF + 'Для повторного запуска вам необходимо перезапустить Windows, или, что лучше:' + CRLF + 'ЗАРЕГИСТРИРУЙТЕСЬ !!'); Close; end; end; |
Преимущество данного метода в том, что пользователь может воспользоваться всей функциональностью программы, но только до момента закрытия программы и перезапуска системы! Вся хитрость заключается в сохранении некоторой строки в системных глобальных переменных ("атомах") и последующей проверке ее в таблице "атомов" системы. [000298]