Awaria monitora

Demonical Monk

Awaria monitora

Autor: fatalbomb

Co powiecie na chwilową awarię monitora?
Prosty przykład wyłączający monitor na 2 sekundy, czyli na tyle, by użytkownik był na tyle zszokowany by nie zrestartować kompa:)

 SendMessage(Application.Handle,wm_SysCommand,SC_MonitorPower,1);//wylacz monitorek:)
 sleep(2000); //spij
 SendMessage(Application.Handle,wm_SysCommand,SC_MonitorPower,-1); //wlacz monitka;)

5 komentarzy

Chciałbym wyjaśnić ponieważ w WinXP (chyba od SP1) ta funkcja wyłącza monitor ale system go włączy po poruszeniu myszką bądź innej akcji wywołanej przez użytkownika (np. naciśnięci klawisza na klawiaturze)

Zerżnęliście wszystko z neta, mam taki pliczek "100 tricków w delphi" i to tam jest... Tak samo jak wtedy, teraz nie działa. Wzięlibyście napisali coś swojego.

blade, to chyba tylko u ciebie tak to działa :P
U mnie na Pro SP2 działa tak jak chce.

Tak więc ta funkcyjka coś nie działa na WinXP Pro SP2... Mianowicie wyłączy monitorek - za sekundę go włączy... Przykładowy kodzik:

Ustawiam że po naciśnięciu na "vkDown" ma zrobic to:
begin
SendMessage(Application.Handle,wm_SysCommand,SC_MonitorPower,1);
end;

A po naciśnięciu na "vkUp" ma zrobić to:
begin
SendMessage(Application.Handle,wm_SysCommand,SC_MonitorPower,-1);
end;

Po naciśnięciu na "vkDown" wyłącza się monitor - ale za chwilę się włącza... Więc to jakieś kiepściutkie rozwiązanie...

Zauważyłem rónież że jak się ustawi tak:
SendMessage(Application.Handle,wm_SysCommand,SC_MonitorPower,x);
gdzie x-to dowolna liczba naturalna.
Wyłączy się monitor - a po chwili znowusz włączy...

Myślę że ta funkcja jest "do dupy"...

mi nie chce działać