Отключение дисплея
От: Аноним  
Дата: 29.12.03 12:46
Оценка:
Долго ковырялся в сети, чтобы узнать, как включить скринсейвер. нашел что-то вроде этого:
GetDesktopWindow()->PostMessage(WM_SYSCOMMAND, SC_SCREENSAVE, 0L);

Хорошо, для скринсейвера это действительно работает. А что делать, если у меня в настройках экрана скринсейвер отключен, а вместо него я использую опцию "Отключение дисплея" (кнопка "Питание" вкадки "Заставка" в Windows XP).

Проще говоря — как мне программно отключить дисплей?
Re: Отключение дисплея
От: BlackHeretic Израиль  
Дата: 29.12.03 12:53
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Долго ковырялся в сети, чтобы узнать, как включить скринсейвер. нашел что-то вроде этого:

А>
А>GetDesktopWindow()->PostMessage(WM_SYSCOMMAND, SC_SCREENSAVE, 0L);
А>

А>Хорошо, для скринсейвера это действительно работает. А что делать, если у меня в настройках экрана скринсейвер отключен, а вместо него я использую опцию "Отключение дисплея" (кнопка "Питание" вкадки "Заставка" в Windows XP).

А>Проще говоря — как мне программно отключить дисплей?


SC_MONITORPOWER ?
ICQ 156156278
Re[2]: Отключение дисплея
От: CooLer2912  
Дата: 29.12.03 14:17
Оценка:
Здравствуйте, BlackHeretic, Вы писали:

А>>Проще говоря — как мне программно отключить дисплей?


BH>SC_MONITORPOWER ?


Не годиться. Во-первых в XP не работает. А главное — это не отключение монитора (так, чтобы желтая лампочка на нем мигала), а просто включение черного экрана.
Re[3]: Отключение дисплея
От: BlackHeretic Израиль  
Дата: 29.12.03 15:08
Оценка:
Здравствуйте, CooLer2912, Вы писали:

CL>Здравствуйте, BlackHeretic, Вы писали:


А>>>Проще говоря — как мне программно отключить дисплей?


BH>>SC_MONITORPOWER ?


CL>Не годиться. Во-первых в XP не работает. А главное — это не отключение монитора (так, чтобы желтая лампочка на нем мигала), а просто включение черного экрана.


Посмотри здесь

И где ты собсно нашел что это на XP не пашет?...
ICQ 156156278
Re[4]: Отключение дисплея
От: CooLer2912  
Дата: 30.12.03 07:50
Оценка:
У меня XP и у меня не пашет ни один из вариантов:
GetDesktopWindow()->PostMessage(WM_SYSCOMMAND, SC_MONITORPOWER, 2);
GetDesktopWindow()->PostMessage(WM_SYSCOMMAND, SC_MONITORPOWER, 1);

Экран буквально на полсекунды чернеет и все возвращается...
Re[5]: Отключение дисплея
От: barbarian Украина  
Дата: 30.12.03 09:28
Оценка: 3 (1)
Здравствуйте, CooLer2912, Вы писали:

CL>У меня XP и у меня не пашет ни один из вариантов:

CL>
CL>GetDesktopWindow()->PostMessage(WM_SYSCOMMAND, SC_MONITORPOWER, 2);
CL>GetDesktopWindow()->PostMessage(WM_SYSCOMMAND, SC_MONITORPOWER, 1);
CL>

у меня вот такой код работает и в XP:
SendMessage(AfxGetMainWnd()->m_hWnd, WM_SYSCOMMAND,SC_MONITORPOWER,2);
CL>Экран буквально на полсекунды чернеет и все возвращается...
Уменя такое было когда я ставил хук на клавиатуру и после виключения монитора
моя програма продолжала выполнять слежку за клавиатурой ;
а если програма ничего не делает после SendMessage то монитор нормально выключается
Re[6]: Отключение дисплея
От: CooLer2912  
Дата: 30.12.03 14:29
Оценка:
Здравствуйте, barbarian, Вы писали:

B>у меня вот такой код работает и в XP:

B>SendMessage(AfxGetMainWnd()->m_hWnd, WM_SYSCOMMAND,SC_MONITORPOWER,2);
CL>>Экран буквально на полсекунды чернеет и все возвращается...
B>Уменя такое было когда я ставил хук на клавиатуру и после виключения монитора
B>моя програма продолжала выполнять слежку за клавиатурой ;
B>а если програма ничего не делает после SendMessage то монитор нормально выключается

Да, в этом была все причина. Теперь работает. Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.