Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.17;
Скачать: CL | DM;

Вниз

Монитор   Найти похожие ветки 

 
vasIzmax ©   (2006-11-27 22:59) [0]

Доброго времени суток! Процедуру для выключения монитора. Нашел только:SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0);. НО она не вырубает. В чем причина?


 
Алхимик ©   (2006-11-28 00:07) [1]

Поиграйся с параметром последним.
Вроде
0 - включение
1 - выключение


 
vasIzmax ©   (2006-11-28 02:28) [2]


> Алхимик ©   (28.11.06 00:07) [1]

Я это усек. Пробовал. Не работает. Может монитор не подходит?


 
kingsoft ©   (2006-11-28 02:50) [3]

Попробуй так.
procedure TForm1.Button1Click(Sender: TObject);
begin
 SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1);
end;
То есть измени последний параметр на -1. Должно помочь!


 
kingsoft ©   (2006-11-28 02:52) [4]

Есть еще пару вариантов!!!

SendMessage(HWND_BROADCAST,WM_SYSCOMMAND, 0);

SendMessage(HWND_BROADCAST,WM_SYSCOMMAND, -1);


 
vasIzmax ©   (2006-11-28 02:56) [5]


> kingsoft ©   (28.11.06 02:50) [3]

Я раньше пробовал. Не помогло. Я сделал чуток иначе.

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:=-20 to 40 do
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, i);
end;

И представьте при 2 заработало. Интересно, а если на другом кампе это попробовать, наверно вместо 2 будет че-то другое?:)


 
vasIzmax ©   (2006-11-28 02:57) [6]


> kingsoft ©   (28.11.06 02:52) [4]

Пишет че: Not enough actual parametrs.


 
kingsoft ©   (2006-11-28 03:01) [7]

Я проверил у себя всё работает.


 
kingsoft ©   (2006-11-28 03:07) [8]

Ваш код на моём мониторе работает.

procedure TForm1.Button1Click(Sender: TObject);
begin
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
end;

Только при движении мыши снова включается.


 
vasIzmax ©   (2006-11-28 03:12) [9]


> SendMessage(HWND_BROADCAST,*********,WM_SYSCOMMAND, 0);

Вместо звезд должен быть еще параметр cardinal. Кстати, применил к нему то же цикл. Пришлось камп перезагрузить. :)


 
Zeqfreed ©   (2006-11-28 04:42) [10]


> for i:=-20 to 40 do
> SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER,
>  i);


В следующий раз лучше делать for i := Low(Integer) to High(Integer), для надежности.
На самом деле, все проблемы разрешились бы после элементарного просмотра справки:

SC_MONITORPOWER
   Sets the state of the display. This command supports devices that have power-saving features, such as a battery-powered personal computer.

   The lParam parameter can have the following values:

   1 - the display is going to low power

   2 - the display is being shut off

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardaccelerators/keyboardacceleratorreference/keyboardacceleratormessages/wm_syscommand.asp



Страницы: 1 вся ветка

Текущий архив: 2006.12.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.057 c
15-1164645188
syte_ser78
2006-11-27 19:33
2006.12.17
сервис регистрации ошибочных урлов


15-1164555160
iZEN
2006-11-26 18:32
2006.12.17
Сравнение ядер операционок


15-1164606305
Тульский
2006-11-27 08:45
2006.12.17
Кидалово с жильем


2-1164575622
Sat
2006-11-27 00:13
2006.12.17
проблеммы с классом


3-1160462245
Tornado
2006-10-10 10:37
2006.12.17
Вычисляемое поле ADOQuery