Форум программистов, компьютерный форум, киберфорум
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 20.06.2012
Сообщений: 28
1

WaitableTimer не выводит ноутбук из спящего режима

22.05.2013, 10:59. Просмотров 1197. Ответов 9
Метки нет (Все метки)

Всем привет.

Есть приложение, оно создает поток, похожий на будильник: в заданный момент поток выполняет какое-то действие.
В потоке используется WaitableTimer, кроме прочего, благодаря его способности будить систему (если передать последним параметром функции SetWaitableTimer TRUE).

Как следует из сабжа, таймер из спящего режима систему не выводит.
Помогите, пожалуйста, разобраться.

Какой кусок кода приводить, честно говоря, не знаю.
1. Создаю таймер
C++
1
HANDLE hTimer=CreateWaitableTimer(NULL, FALSE, NULL);
2. Устанавливаю
C++
1
SetWaitableTimer(hTimer, ..., TRUE);
3. Ожидаю его срабатывания
C++
1
2
3
4
if (WaitForSingleObject(hTimer, INFINITE)==WAIT_OBJECT_0))
{
     // do something
}
Если ноут не в спящем режиме, все работает, если в спящем - продолжает спать, а при ручном выводе из спящего режима, видно, что действие уже произошло, но комп не активировало.

GetLastError() после каждого из этих этапов возвращает 0.

Заранее спасибо за помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2013, 10:59
Ответы с готовыми решениями:

Холодильник выводит ноут из спящего режима :)
Доброго времени суток. При включении холодильника ноутбук выходит из спящего режима. Понятно, что...

Ноутбук перестал выходить из спящего режима Windows 8.1
Добрый день. У меня вчера ноут перестал выходить из спящего режима. Не реагирует на открытие крышки...

Ноутбук загружается с нуля после спящего режима
Всем доброго времени суток! Уже всё перерыл не догадываюсь, что сделать даже можно, ситуация...

Ноутбук не может выйти из спящего режима( ничто не помогает)
Появилась вот такая надпись что почти дословно отображено в заголовке "your computer cant s come ...

9
37 / 32 / 6
Регистрация: 17.09.2012
Сообщений: 66
22.05.2013, 11:52 2
2. Устанавливаю
... и не проверяю код возврата

http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
If the system does not support a restore, the call succeeds, but GetLastError returns ERROR_NOT_SUPPORTED.
0
1 / 1 / 0
Регистрация: 20.06.2012
Сообщений: 28
22.05.2013, 12:04  [ТС] 3
Цитата Сообщение от Kaimi Посмотреть сообщение
... и не проверяю код возврата

http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Все проверяю.

Писал же, GetLastError() после КАЖДОГО из этапов возвращает 0. Соответственно, думаю, можно предположить, что система поддерживает...
0
37 / 32 / 6
Регистрация: 17.09.2012
Сообщений: 66
22.05.2013, 12:42 4
Окей, пример кода в самом низу отсюда работает?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
29266 / 19345 / 7587
Регистрация: 22.10.2011
Сообщений: 33,725
Записей в блоге: 6
22.05.2013, 12:55 5
Twas, Allow wake timers в настройках Power Options в каком состоянии находятся?
0
1 / 1 / 0
Регистрация: 20.06.2012
Сообщений: 28
22.05.2013, 13:08  [ТС] 6
Цитата Сообщение от UI Посмотреть сообщение
Twas, Allow wake timers в настройках Power Options в каком состоянии находятся?
Где эти настройки искать?

Цитата Сообщение от Kaimi
Окей, пример кода в самом низу отсюда работает?
Спасибо за линку.
Попробую вечером, обязательно отпишу.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
29266 / 19345 / 7587
Регистрация: 22.10.2011
Сообщений: 33,725
Записей в блоге: 6
22.05.2013, 13:15 7
Цитата Сообщение от Twas Посмотреть сообщение
Где эти настройки искать?
Control panel - Power Options - Change plan settings - Advanced power settings - Sleep (Винда англоязычная, так что русских эквивалентов не знаю)
0
1 / 1 / 0
Регистрация: 20.06.2012
Сообщений: 28
22.05.2013, 23:34  [ТС] 8
Цитата Сообщение от UI Посмотреть сообщение
Control panel - Power Options - Change plan settings - Advanced power settings - Sleep (Винда англоязычная, так что русских эквивалентов не знаю)
А все, теперь понял.
Конечно, когда тестил, все поразрешал.

Добавлено через 9 часов 48 минут
Цитата Сообщение от Kaimi Посмотреть сообщение
Окей, пример кода в самом низу отсюда работает?
Выполнил код, ноут не проснулся.
После того, как я его вручную разбудил, в консоли был такой вывод:
InTimerAPCProc
IsSystemResumeAutomatic :: FALSE
Timer was signaled.
Timer APCProc was signaled.
0
37 / 32 / 6
Регистрация: 17.09.2012
Сообщений: 66
23.05.2013, 10:59 9
А теперь пробуй готовую утилиту отсюда http://www.codeproject.com/Articles/...or-hibernation
0
1 / 1 / 0
Регистрация: 20.06.2012
Сообщений: 28
23.05.2013, 22:10  [ТС] 10
Цитата Сообщение от Kaimi Посмотреть сообщение
А теперь пробуй готовую утилиту отсюда http://www.codeproject.com/Articles/...or-hibernation
И снова спасибо.
Пробовать буду вечером, но уже сейчас, прочитав, есть мнение, что проблема может быть в этом:

If there is no password set on your Windows account, make sure that in "Control Panel > Power Options > Change Plan Settings > Change Advanced Power Settings > Brad / Additional Settings > Require a password on wakeup", all items are disabled (thanks nanfang).
Пароля нет, но эти параметры в настройках, кажется, enabled, и при пробуждении приходится еще мышкой по иконке пользователя щелкать, чтобы войти в систему.

Добавлено через 9 часов 33 минуты
И действительно, изменил эти параметры, появился прогресс.
Теперь ноут пробуждается, но экран не загорается.
Например, если при срабатывании таймера поставить звуковой сигнал, то звук идет, а экран как был потушенный, так и остается.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2013, 22:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ноутбук сам выходит из спящего режима — периодично, но всегда в одно и то же время
Не могу сам разобраться, прошу помощи. Мышка к ноутбуку не подключена, никаких действий по...

Компьютер сам выходит из спящего режима и сам включается.(после спящего режима)
Здравствуйте,обычно спящим режимом я не пользуюсь,но вчера решил поставить в спящей режим компьютер...

Пробуждается из спящего режима
Постоянно рандонмно выходит из спящего режима. В планировщики все выключено. Вот что в...

Ошибка спящего режима
Всем привет. После спящего режима, компьютер выходит но ни клавиатура не мышь не работает, рабочий...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.