Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как запаролить вход в программу [D7, WinXP]


Starcom ©   (2005-05-24 13:12:00) 

Как мне без всяких ухищерений зделать окно входа в прогу с применением ввода пароля?

С уважением Starcom! ;-[


KSergey   (2005-05-25 07:56:00) [1]

> BFG9k ©   (24.05.05 14:39) [5]
> 2 KSergey :
>
> >     if ...тут как-то проверяем правильность пароля...
> then
> >       isPassOk := TRUE;
>
> Ну что ж вы так ...
>
>  isPassOk :=...тут как-то проверяем правильность пароля...

Ну вообще-то предполагалось, что там может быть не просто буквально этот IF, это как иллюстрация. ;)

Все едино слабым местом во всех примерах будет if NOT isPassOk then и т.п. ;)


Eraser   (2005-05-25 00:57:00) [2]

Gorger   (25.05.05 00:01) [12]

Не в реестре, а в самой программе, но в зашифрованом виде, каким -нибудь симметричным алгоритмом.


Defunct   (2005-05-25 00:54:00) [3]

Gorger   (25.05.05 00:01) [12]

Ломать сложнее, да и мусор в реестре, кому нужна такая программа?


Gorger   (2005-05-25 00:01:00) [4]

Пароль можно сохранять в реестре, тогда в екзешнике никто его не найдет


скрепка   (2005-05-24 23:38:00) [5]


> raidan ©   (24.05.05 23:24) [10]
> >Flame   (24.05.05 23:15) [9]
> Это вы типа шутите?

Это вы типа шутите?

ЗЫ ХИХИХИ! ОЧЕНЬ СМЕШНО


raidan   (2005-05-24 23:24:00) [6]

>Flame   (24.05.05 23:15) [9]
Это вы типа шутите?


Flame   (2005-05-24 23:15:00) [7]

вот токо можно открыть exeшник при помощи wordpad  и там этот пароль будет написан!!!!!


Starcom   (2005-05-24 22:40:00) [8]

Well!

Попробовал всё, дас ист гут! Но мне подручнее Basil_666

Всем Огромное Спасибо! Ценю когда коротко и локанично!

С Уважением Starcom! :-)


Defunct   (2005-05-24 19:43:00) [9]

> ALL   (24.05.05 17:45) [6]

Ну.. это уже с "ухищерениями" получится.


ALL   (2005-05-24 17:45:00) [10]

А можно в принwипе и так: При запуске в программы на первой
форме расположен Edit и Button.По клику кнопки можно сделать так
if edit1.text='твой пароль' then form2.showModal;


BFG9k   (2005-05-24 14:39:00) [11]

2 KSergey :

>     if ...тут как-то проверяем правильность пароля... then
>       isPassOk := TRUE;

Ну что ж вы так ...

 isPassOk :=...тут как-то проверяем правильность пароля...


:)


Anatoly Podgoretsky   (2005-05-24 14:00:00) [12]

Без ухищрений не получится, код писать надо.


KSergey   (2005-05-24 13:33:00) [13]

В обработчике FormCreate главной фотмы примерно такое:

var
  isPassOk: Boolean;
....
isPassOk := FLASE;

with TPassForm.Create(nil) do   // форма ввода пароля
try
  if ShowModal = mrOk then
    if ...тут как-то проверяем правильность пароля...then
      isPassOk := TRUE;
  if NOT isPassOk then   // если пароль не указан или ошибочный
  begin
    Application.ShowMainForm := FALSE;   // имя свойства уточнить
    Application.Terminate;
  end;
finally
 Free;
end;


Не офигительно, конечно, подработать бы надо (пример кривости: при возникновении Exception при работе с формой пароля приложение таки запустится)
но идея, думаю, понятна.


BasiL_666_   (2005-05-24 13:28:00) [14]

самый простой споб известный мне это запрос пароля при инциализаци приложения (взято с DelphiWorld):

program Initialize;

uses
 Forms,
 Dialogs,
 Controls,
 MainFrm in 'MainFrm.pas' {MainForm};

{$R *.RES}

var
 Password: string;
begin
 if InputQuery('Password', 'Enter your password', PassWord) then
   if Password = 'D5DG' then
   begin
     // Other initialization routines can go here.
     Application.CreateForm(TMainForm, MainForm);
     Application.Run;
   end
   else
     MessageDlg('Incorrect Password, terminating program', mtError, [mbok], 0);
end.


easy   (2005-05-24 13:19:00) [15]

program Project1;

uses
 Forms,dialogs,
 Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
 if inputbox('Пароль', 'Введите пароль','')<>'mypass' then exit;
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end.


Наверх

Титульная страница Поиск, карта сайта Написать письмо