Цитата:
Сообщение от seriousstas
Цитата:
После выхода из гибернейта ICarDS стал с завидной регулярностью падать
|
для начала просто перегрузите систему несколько раз .
После сна могут накапливаться ошибки.
|
У меня iCarDS после выхода из гибернации не падает, но на всякий случай придумал такую штуку - сделать так, чтобы после определенного количества гибернаций происходило выключение компа для очищения накопившихся ошибок Windows. Т.к. кнопкой питания управляет БП, то решил переназначать действие кнопки питания с "Гибернация" на "Завершение работы" и обратно.
Постоянно запущенный скрипт отслеживает количество гибернаций и, при превышении заданного количества, переназначает действие кнопки питания с "Гибернация" на "Завершение работы". После последующей загрузки компа действие кнопки питания опять назначается на "Гибернация".
С программным переназначением кнопки питания мучался несколько дней. Теоретически, для этого просто меняется один параметр в реестре. Но... Из режима "Завершение работы" в режим "Гибернация" комп переходил только после перезагрузки. А из "Гибернация" в "Завершение работы" вообще никогда не переходил. Я так предполагаю, что модифицируемый параметр из реестра читается однократно при загрузке компа, а не в момент нажатия кнопки питания (для выключения или гибернации). Поэтому из "Гибернация" в "Завершение работы" никак не перейти, т.к. не загрузки компа, и не считывается новое значение параметра из реестра. При этом в настройках электропитания назначение кнопки питания отображается верно (в соответствие с параметром в реестре).
Но ведь при изменении назначения кнопки питания ручками в настройках параметров электропитания все срабатывает как надо. Решил эмулировать эти действия скриптом. Теперь программное переназначение действия кнопки питания состоит из двух частей:
- Изменение параметра в реестре.
- Открытие окна настроек электропитания, применение настроек, закрытие окна.
Конечно, все это сложновато получилось, зато полностью автоматизировано.
В скрипте можно еще подвязаться к координатам, к дате/времени, и еще к чему-нибудь. Например, можно реализовать такой алгоритм:
- если количество гибернаций превысило заданный порог,
- и если мы находимся возле гаража или дома,
- и если время - вечер,
- и если день недели - пятница или суббота,
- то переназначить действие кнопки питания с "Гибернация" на "Завершение работы".
Для аналогичных действий можно использовать настройку действий по местоположению в iCarDS - настроить выключение компа по прибытии в гараж или домой. Но там нет такого богатства возможностей автоматизации. Данным функционалом iCarDS не пользовался, поэтому не знаю, выдает ли iCarDS в этот момент запрос на выключение или же выключает комп без спроса.