Приветствую Вас Гость | RSS

Delphi заготовки

Воскресенье, 12.05.2024, 11:20
Главная » 2012 » Май » 18 » Как определить время простоя компьютера и убрать заставку
09:38
Как определить время простоя компьютера и убрать заставку
 Нужна программа, которая через определенное время (например каждые 5 секунд, но чтобы можно самому казать временной период) смещает курсор мыши в случайном направлении на случайное количество пикселов, но не более например пяти (с возможностью указания этого числа). простенькая форма с двумя эдитами: в первом указываем интервал, во втором максимальное число пикселов, на которое может сместиться курсор.



Чтобы вывести время простоя компьютера нужно написать следующую функцию:

function CheckIddleTime: DWord;
var
   LastInput: TLastInputInfo;
begin
   LastInput.cbSize := SizeOf(TLastInputInfo);
   GetLastInputInfo(LastInput);
   Result := GetTickCount - LastInput.dwTime;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Label1.Caption:= 'Время простоя: ' + vartostr(CheckIddleTime/1000)+' секунд(ы)';
end;

далее напишем программу по просьбе shadowgm


изменим процедуру следующим образом

procedure TForm1.Timer1Timer(Sender: TObject);
var dx,dy:integer;
    OldX,OldY:integer;
    lpPoint: TPoint;
begin
  Label1.Caption:= 'Âðåìÿ ïðîñòîÿ: ' + vartostr(Round(CheckIddleTime/1000))+' ñåêóíä(û)';
  if first then
  form1.CoolTrayIcon1.HideMainForm;
  first:=false;
  if (Round(CheckIddleTime/1000))>Strtoint(edit1.text) then begin
  GetCursorPos(lpPoint);
  dx:= random(11) - 5;
  dy:= random(11) - 5;
  SetCursorPos(OldX + dx, OldY+dy);
  OldX := OldX + dx;
  OldY := OldY + dy;
  sleep(100);
  SetCursorPos(lpPoint.X, lpPoint.Y);
  end;
end;




для сохранения параметров программы напишем не большую обработку


procedure TForm1.FormCreate(Sender: TObject);
var F:textfile;
    s:string;
begin
  if fileage('set.ini')>0 then begin
    AssignFile(f,'set.ini');
    reset(f);
    readln(f,s);
    form1.Edit1.Text:=s;
    closefile(F);
  end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var f:textfile;
begin
  rewrite(f,'set.ini');
  writeln(f,edit1.text);
  closefile(F);
end;
пример программы можно скачать  /55_vremja_prostoja_kompjutera.rar





cooltray на основании 
http://www.delphiexpert.ru/view_download.php?id=30

время простоя компьютера  - на основании
http://www.delphicomponent.ru/257-delphi-kak-vyvesti-vremya-prostoya-kompyutera.html

успехов!
Просмотров: 2358 | Добавил: NetSoftWare | Рейтинг: 1.0/1
Всего комментариев: 0
Имя *:
Email *:
Код *: