Скрипт: Возврат из режима ожидания и переход в спящий режим   
		
		
		После установки CarPC, очень стала надоедать долгая загрузка системы после непродолжительного отсутствия (< часа).  
Так что после некоторых исследований был написан vb-скрипт, "уводящий" ПК в спящий(Hibernate) режим через полчаса(или любой др. промежуток времени) после того как система была оставлена в ждущем(Standby) режиме.
 
Для M2-ATX нужно выставить перемычки в режим отключения питания на CarPC через 2 часа после откл. ACC (можно и больше). На др. БП не знаю.
 
Инструкция: 
1. Скачать и распаковать WOSB( Скачать тут!) в "C:\WakeupOnStandBy" 
2. Создать в этой директории текстовый файл например autoHibernate.vbs и скопировать туда скрипт 
3. Создать ярлык к этому файлу и прописать его в автозагрузку 
4. Выставить действие по-умолчанию при нажатие кнопки Power - режим ожидания(Standby, Sleep) 
5. Перезагрузить ПК
 
PS: Убедитесь, что у Вас активирован режим Hibernate. 
Желающие могут добавить свои действия перед уходом в Hibernate.
 
	Код: 
	
 wosbExe = "c:\WakeupOnStandBy\wosb.exe" ' Путь к wosb.exe 
sleepTime = 30                                                         ' Кол-во минут ожидания 
 
Set oShell = CreateObject("WScript.Shell") 
Set colMonitoredEvents = GetObject("winmgmts:").ExecNotificationQuery("Select * from Win32_PowerManagementEvent") 
 
isHibernate = False 
suspendTime = Now 
resumeTime = Now 
 
Do 
        Set objLatestEvent = colMonitoredEvents.NextEvent 
 
        Select Case objLatestEvent.EventType 
 
                Case 4 
                        ' Suspend 
                        If Not isHibernate Then 
                                suspendTime = Now 
                                oShell.Run wosbExe & " /systray /run tm=+" & sleepTime & ":00", 0, False 
                        End If 
                         
                Case 7, 18 
                        ' 7 - Resume, 18 - Automatic Resume 
                        resumeTime = Now 
                        If Not isHibernate Then 
                                diff = DateDiff("n", suspendTime, resumeTime) 
                                If diff >= sleepTime And diff <= sleepTime * 2 Then 
                                        isHibernate = True 
                                        oShell.Run wosbExe & " /closeall", 0, False 
                                        oShell.Run "rundll32.exe powrprof.dll,SetSuspendState", 0, False 
                                Else 
                                        isHibernate = False 
                                        oShell.Run wosbExe & " /closeall", 0, False 
                                End If 
                        Else 
                                isHibernate = False 
                        End If         
                 
        End Select         
Loop 
  
	 |