Как определить, что комп вышел из гибернации?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Как определить, что комп вышел из гибернации?

Сообщение Pantalone » 12.06.2017 (Пн) 1:05

Есть ли какой-то признак, что компьютер вышел из гибернации, а не был загружен стандартно?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как определить, что комп вышел из гибернации?

Сообщение Хакер » 12.06.2017 (Пн) 2:10

Вышел из гибернации во время работы программы или ещё до запуска программы?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Re: Как определить, что комп вышел из гибернации?

Сообщение Pantalone » 12.06.2017 (Пн) 18:18

Во время работы программы.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как определить, что комп вышел из гибернации?

Сообщение Хакер » 12.06.2017 (Пн) 20:42

И при этом тебе нужно отличать гибернацию от ждущего режима?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Re: Как определить, что комп вышел из гибернации?

Сообщение Pantalone » 13.06.2017 (Вт) 2:24

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

Admiralisimys
Постоялец
Постоялец
 
Сообщения: 318
Зарегистрирован: 01.06.2009 (Пн) 10:26

Re: Как определить, что комп вышел из гибернации?

Сообщение Admiralisimys » 13.06.2017 (Вт) 13:10

Pantalone пробовал ловить оконное сообщение WM_POWERBROADCAST?

Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Re: Как определить, что комп вышел из гибернации?

Сообщение Pantalone » 13.06.2017 (Вт) 18:25

Admiralisimys писал(а):Pantalone пробовал ловить оконное сообщение WM_POWERBROADCAST?

Надо попробовать, спасибо. Хотя есть и другая идея, запустить минутный таймер и проверять время его предыдущего срабатывания, разница больше какого-то значения дает повод думать о гибернации, ну или о переводе времени на зимнее/летнее, что тоже нужно отследить.

А можно ли как-то чуток притормозить уход в спящий режим, пока программа корректно не закроет транзакции, узнав, что комп отправляется в спящий режим?

TheWatcher
Новичок
Новичок
Аватара пользователя
 
Сообщения: 29
Зарегистрирован: 27.08.2012 (Пн) 0:53
Откуда: Республика Беларусь

Re: Как определить, что комп вышел из гибернации?

Сообщение TheWatcher » 14.06.2017 (Ср) 11:36

Pantalone писал(а):А можно ли как-то чуток притормозить уход в спящий режим, пока программа корректно не закроет транзакции, узнав, что комп отправляется в спящий режим?


Можно попробовать SetThreadExecutionState.
TheWatcher
=========
3.6GHz Core i5-3470, 16GB RAM / GTX 1060, 6GB VRAM
x86 Win XP Pro Sp3 / x64 Win 7 Ult Sp1 / x64 Ubuntu 16.04


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 60

    TopList