Форум: "Начинающим";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];
ВнизМонитор Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.049 c