|

Delphi. Юзер отделался первым легким испугом
Xakep, номер #032, стр. 032-073-1
Horrific (smirnandr@mail.ru) www.x-c-r.com
Подписи:
Для Delphi1 - Свойства формы в объектном инспекторе
Для Delphi2 - Обработчик сообщения OnCreate
====Листинг 1====
procedure TForm1.FormCreate(Sender: TObject);
var
ScreenDC:HDC; //Переменная типа HDC
Canvas:TCanvas; //Переменная типа Tcanvas
Begin
ScreenDC := GetDC(0); //Получаем доступ к экрану
Canvas:=TCanvas.Create();//Создаем TCanvas
Canvas.Handle:=ScreenDC;//Присваивает в TСanvas экран
//Устанавливаю размер окна в размеры экрана
Width:=Screen.Width; //Ширина окна:=Ширина экрана
Height:=Screen.Height;
//Копирую содержимое экрана в компонент Image1
Image1.Canvas.CopyRect(Rect(0,0,Image1.Width,Image1.Height),
Canvas, Rect(0,0,Screen.Width,Screen.Height));
//Освобождаю переменную ScreenDC
ReleaseDC(0,ScreenDC);
//Удаляю Canvas
Canvas.Free;
end;
====Листинг 2====
procedure TForm1.FormCreate(Sender: TObject);
var
ScreenDC:HDC;
Canvas:TCanvas;
Begin
ScreenDC:= GetDC(0);
Canvas:=TCanvas.Create();
Canvas.Handle:=ScreenDC;
Width:=Screen.Width;
Height:=Screen.Height;
Image1.Canvas.CopyRect(Rect(0,0,Image1.Width,Image1.Height),
Canvas, Rect(0,0,Screen.Width,Screen.Height));
Image1.Canvas.Pen.Color:=clRed; //Устанавливаю цвет пера в красный
Image1.Canvas.Pen.Width:=20;//Устанавливаю ширину пера
Image1.Canvas.MoveTo(250,150);
Image1.Canvas.LineTo(Image1.Width-250,Image1.Height-150);
Image1.Canvas.MoveTo(Image1.Width-250,150);
Image1.Canvas.LineTo(250,Image1.Height-150);
ReleaseDC(0,ScreenDC);
Canvas.Free;
end;
В прошлом номере я уже познакомил тебя с начальными знаниями по Delphi, достаточными для программирования. Больше я не буду грузить тебя голой теорией, потому что, кроме голых теток, ничего больше в голом виде не может заинтересовать настоящего мэна. Так что сегодня мы напишем первую программу, и ты убедишься, что это очень просто и доступно. Хотя я рассчитывал это сделать немного позже, но что тянуть. Пора направить свой ум правильном направлении и немного пошКодить :).
Предыстория
В качестве примера я написал маленькую прогу, которая при запуске запоминает содержимое экрана. Затем появляется на весь экран и внутри окна показывает содержимое экрана до запуска.
Эффект от запуска проги: жертва (которой ты забросишь прогу) запускает ее. Один раз мигает экран, и больше ничего не происходит. Теперь вместо рабочего стола находится твоя прога, которая отображает рабочий стол. Но жертва этого не знает. Она думает, что видит настоящий рабочий стол, а не твое окно с изображением. Посмотри на этого лама со стороны. Прикольно наблюдать, как он тыкает мышкой по монитору и не может понять, почему ничего не происходит. Единственный способ закрыть прогу - нажать Alt+F4 или снять задачу через Ctrl+Alt+Del.
Начнем?
Запускай Delphi. После запуска перед тобой появится оболочка Delphi и новый пустой проект. Сразу сохрани все это. Для этого выбери "Save All" из меню "File". Сначала тебя попросят ввести имя формы (по умолчанию это Unit1), а затем нужно ввести имя проекта (по умолчанию это Project1). Я эти имена не стал менять, а просто жал на пимпу "Сохранить". Ты можешь задать человеческие имена. Кстати, имя проекта будет использоваться в качестве имени запускного файла. Так что как ты его назовешь, так и будет называться .ехе файл.
Содержание Вперед на стр. 032-073-2
|