Delphi. Учимся на примерах | страница 61



>  end

>  else begin

>   WriteString('TileWallpaper', '0');

>  end;

> end;

> reg.Free;

> SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Nil, SPIF_SENDWININICHANGE);

>end;


>function KbHook(code: Integer; wparam: Word; lparam: LongInt): LongInt; stdcall;

>begin

> if code < 0 then

>  Result:= CallNextHookEx(oldKbHook, code, wparam, lparam)

> else

>  Result:= 1;

>end;


>{$R *.dfm}


>procedure TForm1.Timer1Timer(Sender: TObject);

>var

> JokeNum: shortint;

> curs: TRect;

>begin

> JokeNum:= Random(10) + 1;

> case JokeNum of

>  1: begin //Уменьшить диапазон движения мыши

>   curs := Rect(0, 0, Screen.Width div 2,Screen.Height);

>   ClipCursor(Scurs);

>  end;

>  2: begin //Отключить мышь

>  SystemParametersInfo(SPI_SETFASTTASKSWITCH, 1, @Dummy,0);

>  SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, @Dummy, 0);

>  OldKbHook:= SetWindowsHookEx(WH_mouse, @KbHook, HInstance, 0);

>  end;

>  3: begin //отключить клавиатуру

>>   SystemParametersInfo(SPI_SETFASTTASKSWITCH, 1, @Dummy, 0);

>>   SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, @Dummy, 0);

>>   OldKbHook:= SetWindowsHookEx(WH_KEYBOARD, @KbHook, HInstance, 0);

>  end;

>  4: begin //Очистить буфер обмена

>>   ClipBoard.Open;//открываем буфер обмена

>>   ClipBoard.Clear;//очищаем буфер обмена

>>   //Помещаем в буфер обмена свой текст

>>   Clipboard.asText:= 'Буфер обмена временно не работает!';

>>   ClipBoard.Close; //закрываем буфер обмена

>  end;

>  5: begin // сделать копию экрана и назначить её фоном

>>   ВМР1:= Graphics.TBitmap.Create;

>>   //задаем размеры рисунка такие же,как размеры экрана

>>   BMP1.Height:= Screen.Height;

>>   BMP1.Width:= Screen.Width;

>>   DC1:=GetDC(0);

>>   //Делаем копию экрана

>>   BitBlt(BMP1.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DC1, 0, 0, SRCCOPY);

>>   Form1.Visible:= True;//восстанавливаем окно нашей программы

>>   Image1:= TImage.Create(nil);

>>   BMP1.IgnorePalette:= True;

>>   Image1.Picture.Assign(BMP1);

>>   BMP1.SaveToFile('с:\1.bmp'); //сохраняем снимок в файл 1.bmp

>>   SetWallpaper('с:\1.bmp', False); //назначаем снимок, как фон

>>   Repaint; //обновляем

>  end;

>  6: begin // Найти случайный рисунок и сделать его фоновым

>>   endval:= Random(10) + 5; //для случайности выбора рисунка

>>   //ищем все файлы с расширением *.bmp в каталоге Windows

>>   Finds:= FindFirst('С:\Windows\*.bmp', faAnyFile, fn);

>>   Finds:= Random(2); //случайное число, 0 или 1

>>   //если выпала 1, то устанавливаем первый попавшийся рисунок

>>   if Finds = 1 then SetWallpaper(fn.Name, False);

>>   if Finds = 0 then begin //иначе…

>>    for i:=1 to endval do begin