Отправляет email-рассылки с помощью сервиса Sendsay

Программирование в Delphi

  Все выпуски  

Программа-прикол? делающая из курсора снайперский прицел


Здравствуйте!

Сегодня мы сделаем программу, которая будет делать из курсора снайперский прицел J

Создайте в Delphi новый проект, киньте на заготовку формы компоненты Button и Timer.

Кнопку поместите в левый верхний угол и в свойстве Caption напишите ‘x’. Эта кнопка будет служить для выключения программы. Свойству Interval Таймера задайте интервал 1.

Теперь сделаем нашу форму прозрачной:

Form1.WindowState:=wsMaximized

Form1.BorderStyle:=bsNone

Form1.color:=clRed

Form1.TransparentColor:=true

Form1.TransparentColorValue:=clRed

 

Приступим к написанию кода.

Объявите переменную   ExtendedStyle: integer.

procedure TMain.FormCreate(Sender: TObject);

begin

//Делаем, чтобы окно программы располагалось «поверх всех окон»

SetWindowPos(Main.Handle, hwnd_TopMost, 0, 0, Screen.Width, Screen.Height, swp_noActivate);

SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0);

//Эти строчки уберут нашу программу из TaskBar’а

ExtendedStyle:=GetWindowLong(application.Handle, GWL_EXSTYLE);

SetWindowLong(Application.Handle, GWL_EXSTYLE, ExtendedStyle or WS_EX_TOOLWINDOW);

//Устанавливаем цвета пера и шрифта

Main.Canvas.Pen.Color:= clLime;

Main.canvas.Font.Color:=clGreen;

end;

procedure TMain.Timer1Timer(Sender: TObject);

begin

//По событию таймера перирисовываем Canvas

with Main.canvas do

begin

fillrect(clientrect);

Moveto(Mouse.CursorPos.X, 0);

LineTo(Mouse.CursorPos.X, Screen.DesktopHeight);

Moveto(0, Mouse.cursorpos.Y);

LineTo(Screen.DesktopWidth, Mouse.cursorpos.y);

rectangle(Mouse.CursorPos.X-15, Mouse.cursorpos.Y-15, mouse.CursorPos.X+15, Mouse.cursorpos.Y+15);

TextOut(Mouse.cursorpos.x-20, Mouse.CursorPos.Y+16, IntToSTR(Mouse.cursorpos.x));

Textout(Mouse.cursorpos.x+16, Mouse.CursorPos.Y-16, intToStr(Mouse.CursorPos.Y));

end;

end;

procedure TMain.Button1Click(Sender: TObject);

begin

close;

end;

Эту программу можно усовершенствовать, сделав так,  чтобы она выводила размер ОЗУ, объём HDD, ещё что-нибудь

Ну, вот и всё. Исходники можно взять тут.

C уважением, Valar!


В избранное