Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ждущий режим [D7, WinXP]


1519 ©   (2006-09-04 10:03:00) 

Здравствуйте, мастера!!!
У меня есть один вопрос: "Можно ли как-нибудь разбудить компьютер программно, не применяя физических действий, а если можно, то как."
Заранее Большое спасибо!!!


GrayFace   (2006-09-08 19:32:00) [1]

unit Unit2;

interface

uses
 Classes, Windows, Messages;

type
 TWaitThread = class(TThread)
 private
   fTime:Int64;
   { Private declarations }
 protected
   procedure Execute; override;
 public
   property Time:Int64 read fTime write fTime;
 end;

implementation

uses SysUtils;

{ TWaitThread }

procedure TWaitThread.Execute;
var h:THandle;
begin
 fTime:=-fTime*10000;
 h:=CreateWaitableTimer(nil, true, nil);
 try
   if not SetWaitableTimer(h, fTime, 0, nil, nil, true) then RaiseLastOSError;

   if WaitForSingleObject(h,INFINITE)<>WAIT_OBJECT_0 then RaiseLastOSError;
 finally
   if h<>0 then CloseHandle(h);
   FreeOnTerminate:=true;
   Terminate;
 end;
end;

end.


Не знаю, правда, почему h на правильность перед try не проверяю и зачем Terminate, но писал для себя (для будильника), так что не особо заботился о чистоте кода. Задача этого потока - разбудить систему через заданное время. В OnTerminate еще можно че-нибудь влепить.


[Rock]   (2006-09-07 09:38:00) [2]

В планировщике задач (тот, что в панели инструментов) создать расписание, например для текстового файла. И поставить опцию "Разбудить кампутер"


1519   (2006-09-04 20:27:00) [3]

[GrayFace]
не можешь привести пример, у меня что-то не получается.


1519   (2006-09-04 14:33:00) [4]

А какие параметры передавать?


GrayFace   (2006-09-04 10:54:00) [5]

Можно. WaitableTimer'ом. См. SetWaitableTimer, Wait Functions.


Наверх

Титульная страница Поиск, карта сайта Написать письмо