Посоветуйте пожалуйста, какой мне API функцией следует воспользоваться, чтобы "усыпить" монитор. Дело в том, что есть в Windows в аплете контрольной панели "Управление электропитанием" во вкладке "Схемы энергосбережения" параметры успления монитора. Так вот, мне бы хотелось иметь возможность его так же усыплять, только сразу же, путем запускания специальной маленькой программки. Программка, я так понимаю, как и выдвигатель CD по стилю должна состоять из нескольких API функций...
Вопрос только каких?
Искал, я искал в MSDN, но так ни до чего и не доискался. Т.е. я доискался до сняти показаний батарей, но в общем-то ничего более не нашел Может кто знает функцию для усыпления монитора ?
Спасибо,
Юрий.
Re: Погружение монитора в спячку - какая API функция?
Здравствуйте, ZYV, Вы писали:
ZYV>Искал, я искал в MSDN, но так ни до чего и не доискался. Т.е. я доискался до сняти показаний батарей, но в общем-то ничего более не нашел Может кто знает функцию для усыпления монитора ?
Здравствуйте, ZYV, Вы писали:
ZYV>Здравствуйте, господа программеры.
ZYV>Посоветуйте пожалуйста, какой мне API функцией следует воспользоваться, чтобы "усыпить" монитор. Дело в том, что есть в Windows в аплете контрольной панели "Управление электропитанием" во вкладке "Схемы энергосбережения" параметры успления монитора. Так вот, мне бы хотелось иметь возможность его так же усыплять, только сразу же, путем запускания специальной маленькой программки. Программка, я так понимаю, как и выдвигатель CD по стилю должна состоять из нескольких API функций...
ZYV>Вопрос только каких?
ZYV>Искал, я искал в MSDN, но так ни до чего и не доискался. Т.е. я доискался до сняти показаний батарей, но в общем-то ничего более не нашел Может кто знает функцию для усыпления монитора ?
ZYV>Спасибо, ZYV>Юрий.
Тут есть более интересный вопрос: как его потом пробуждать? Можно, конечно, той же WM_SYSCOMMAND + SC_MONITORPOWER + -1, но есть у меня такое подозрение, что другие программы делают это не так... а как, интересно?
Re[2]: Погружение монитора в спячку - какая API функция?
Ignoramus, Вы писали:
I>Тут есть более интересный вопрос: как его потом пробуждать? Можно, конечно, той же WM_SYSCOMMAND + SC_MONITORPOWER + -1, но есть у меня такое подозрение, что другие программы делают это не так... а как, интересно?
Эээ... Действительно, это интересный вопрос. Я даже не подумал как-то, что его потом надо будет будить
А не могли бы вы заодно объяснить мне куда эти сообщения надо посылать? Что-то я не понимаю, честное слово. Написал вот как:
УРА!!! Я нашел рещение проблеммы. Вот код на Delphi:
Question:
How can I turn an low power compliant monitor off?
Answer:
You can send a wm_SysCommand message with the WParam parameter set
to SC_MonitorPower and the LParam parameter set to 0 to turn the
monitor off, and -1 to turn the monitor back on. The following example
turns the monitor off for a 10 second interval.
Example:
type
TForm1 = class(TForm)
Button1: TButton;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
private{ Private declarations }public
MonitorOff : bool;
{ Public declarations }end;
var
Form1: TForm1;
implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Enabled := false;
Timer1.Interval := 10000;
MonitorOff := false;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if MonitorOff then begin
MonitorOff := false;
SendMessage(Application.Handle,
wm_SysCommand,
SC_MonitorPower,
-1);
Timer1.Enabled := false;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
MonitorOff := true;
Timer1.Enabled := true;
SendMessage(Application.Handle,
wm_SysCommand,
SC_MonitorPower,
0);
end;
Спасибо большое Alex Fedotov'у за бесценное указание на то, что следует искать!
WBR,
Юрий.
Re[4]: Погружение монитора в спячку - какая API функция?
Здравствуйте, ZYV, Вы писали:
ZYV>Здравствуйте,
ZYV>УРА!!! Я нашел рещение проблеммы. Вот код на Delphi:
ZYV>[pascal] ZYV>Question: ZYV>How can I turn an low power compliant monitor off?
ZYV>Answer: ZYV>You can send a wm_SysCommand message with the WParam parameter set ZYV>to SC_MonitorPower and the LParam parameter set to 0 to turn the ZYV>monitor off, and -1 to turn the monitor back on. The following example ZYV>turns the monitor off for a 10 second interval.
в Windows 2000 Server SP 4 для того чтобы потушить монитор вместо 0 надо указать 1.