![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Здраствуйте, я хочу сделать чтобы при заходе в программу у пользователя спрашивало ключ вот это я сделал. Вопрос будет ниже, вот весь код.
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
value : string;
lol : Integer;
lol2 : Integer;
implementation
{$R *.dfm}
begin
// Спрашиваем у полльзователя ключ
repeat
if not InputQuery('Активация программы', 'Пожалуйста, введите ключ диска', value)
then ShowMessage('Идет онлайн активация, этого делать нельзя!');
until value <> '';
//проверяем ключ
if value='AAAA-AAAA-AAAA-AAAA' then
lol := MessageDlg('Ключ введен правильно! Пользуйтесь на здоровье:)',mtWarning, mbOKCancel, 0) else
lol2 := MessageDlg('Возможно вы ошиблись, попробуйте снова!',mtError, mbOKCancel, 0);
// Показ выбранной кнопки на переменной 'lol'
if lol = mrCancel then ?????11111;
// Показ выбранной кнопки на переменной 'lol2'
if lol2 = mrCancel then ??????22222;
if lol2 = mrOK then ???????33333;
end.Хочу чтото вставить в этой строке вместо знаков вопроса чтобы при нажатии на кнопку это окошко закрывалось т.е программа прекращала работать Код:
// Показ выбранной кнопки на переменной 'lol' if lol = mrCancel then ?????11111; тоже самое и с этой строчкой Код:
// Показ выбранной кнопки на переменной 'lol2' if lol2 = mrCancel then ??????22222; ну а с этой строчкой Код:
if lol2 = mrOK then ???????33333; Код:
begin
// Спрашиваем у полльзователя ключ
repeat
if not InputQuery('Активация программы', 'Пожалуйста, введите ключ диска', value)
then ShowMessage('Идет онлайн активация, этого делать нельзя!');
until value <> '';......Вот и все! Заранее благодарен! |
|
#2
|
||||
|
||||
|
Просто:
Код:
if value='AAAA-AAAA-AAAA-AAAA' then begin // тут код программы end else begin //тут если ключ не верен end; Опять же, стоит помнить что всегда можно дисассемблировать программунайти строку с if-ом и проставить PHP код:
И тогда не нужен будет никакой код активации. Последний раз редактировалось Konrad, 03.11.2010 в 22:27. |
|
#3
|
||||
|
||||
|
В коде программы хранить ключ конечно не стоит, тут даже дизасемблер может не понадобится. Можно несколько осложнить жизнь злоумышленнику, если ключ будет задаваться извне и сам ключ будет использован для расшифровки всех текстовых ресурсов. Бредовые сообщения на формах, вместо нормальных надписей малопривлекательны.
Но хорошей защитой это конечно назвать будет нельзя. |
|
#4
|
||||
|
||||
|
Цитата:
А вобщем, на месте автора париться с защитой не стоит. Так как пишется, судя по вопросам, скорей всего что-то типа нового калькулятора или блокнота, который ломать никто не будет. |
|
#5
|
|||
|
|||
|
Ответ простой. application.terminate.
|
|
#6
|
||||
|
||||
|
Цитата:
|