PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   iCarDS (http://pccar.ru/forumdisplay.php?f=121)
-   -   iCarDS + Сон, Гибридный сон и Гибернация (http://pccar.ru/showthread.php?t=23331)

seriousstas 05.08.2015 02:58

iCarDS + Сон, Гибридный сон , Гибернация
 
Предлагаю обсудить эти удобные режимы и решения проблем связанных с выходом из них .
С 33-й версии в Икаре есть одна замечательная особенность ,
отслеживание "ухода в сон" нашего CarPC .
Находится в "Скрипты выполняемые по событиям"

UPDATE 9 / 01 / 17
Как оно работает сейчас:
1 . Установка Икара, как оболочки .
2 . Для перезапуска встроенных программ , например Фубара нужно добавить паузу на выход из сна .
Для этого :
• заменить ExecTBL.ini по пути : Documents\iCarDS\skins\Chameleon\ExecTBL.ini из архива .
• Добавить парамерт RestSuspTime=3000 (три секуны - в авто поставил 2000) запустив Set_Var.exe при закрытом Икаре или добавить эту строчку вручную
в файл Documents\iCarDS\skins\Chameleon\skin.ini
• Включить перезапуск здесь :
http://i.piccy.info/i9/fde40e4eae147...3/scr5_500.jpghttp://i.piccy.info/a3/2017-01-04-09...00x299-r/i.gif

3.(если есть необходимость) Отдельно запускать скрипты по событям СНА с любыми задачами .
Например для этой задачи
нужно создать (и скомпилировать)два скрипта на Autoit (метод №2 - самый простой) в два отдельных *.exe
• первый , на вход в сон :
строка :
Код:

WinClose("GaNetCtrlBPL.exe"); Закрыли
• на выход :
Код:

; Запускаем GANETCTRLBPL :
ShellExecute("c:\Program Files\GA-Net+USB_Ctrl\GaNetCtrlBPL.exe")

Скормить на этом экране (Настройка > Скрипты и внешние программы > Скрипты по событиям) :
http://i.piccy.info/i9/260affedcfb7d..._42_24_500.jpg

::::::::::::::::::::::::::::::::::::::::::::::
перезапуск адаптера и бстрый подхват Wi-Fi
перезапуск bluetooth и wi fi при выходе из сна
подробнее по эмулятору
Полезное
Полезное2
Тетеринг

Соседняя тема

seriousstas 05.08.2015 03:05

Можно было-бы ожидать не сложного решения подобных задачь от Bersenev
но,увы - соглашусь с Lexx09 :
Цитата:

Очень жаль, что исправление багов и добавление новых полезный фичей в iСarDS практически остановилось.

Krysanov 05.08.2015 05:48

Теме -5!!! Сам вот тоже заморачиваюсь проблемами, связанными с икаром после выхода из сна... Порой бывает, что после сна икар не запущен вовсе, а закрыт:angry:, приходится вновь его запускать, а вместе с ним по-новой запускаются другие проги, которые стоят в автозагрузке икара... Блюстак, фубар... Стоит задача на запуск икара в планировщике задач, видимо не всегда планировщик этот работает!!

seriousstas 05.08.2015 12:54

Цитата:

после сна икар не запущен вовсе, а закрыт, приходится вновь его запускать
С таким не сталкивался , покажи скрины вкладок : Общие, Условия и Параметры планировщика
Запускаешь (как закрывал Икар тоже интересно ?) через скрипт или через путь C:\Program Files (x86)\TipTop software\iCar DS\iCarDS.exe
?

Krysanov 05.08.2015 20:04

Цитата:

Сообщение от seriousstas (Сообщение 334531)
С таким не сталкивался , покажи скрины вкладок : Общие, Условия и Параметры планировщика
Запускаешь (как закрывал Икар тоже интересно ?) через скрипт или через путь C:\Program Files (x86)\TipTop software\iCar DS\iCarDS.exe
?

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

seriousstas 05.08.2015 21:16

Цитата:

Когда после сна икар не загружается почему то
Если не создать задачу по-событию (ссылка с примером выше) Икар и не должен грузится после сна .

Krysanov 05.08.2015 21:39

Цитата:

Сообщение от seriousstas (Сообщение 334615)
Если не создать задачу по-событию (ссылка с примером выше) Икар и не должен грузится после сна .

Ссылка эта http://www.outsidethebox.ms/12241/ ? Тут надо эксперементировать ... Завтра будет время, буду пробовать

seriousstas 06.08.2015 00:08

Эта.
Цитата:

Тут надо эксперементировать
не , просто сделать по инструкции ,
и если 8-ка , то
использовать :
Журнал: Система
Источник: Power-Troubleshooter
Код события: 1

ALiX 06.08.2015 19:58

Господа, а настройки системы по электропитанию кто-нибудь выложит? или ссылку на пост? А то кажется у меня не оптимально настроено - долго из хибернейта просыпается комп...
з.ы. все работает, но йотовский модем я так и не могу победить - периодически при просыпании компа система его просто не видит...

Krysanov 06.08.2015 22:58

Цитата:

Сообщение от seriousstas (Сообщение 334484)
...
Готовые exe-шки :
http://rghost.ru/7XMXyDz29

.

Что то не могу скачать, не открывается ссылка
все.. получилось .. Скачал.. Внутри два файла.. Килл и старт.. Старт - для перезапуска икара из сна (из ссылки выше так называемая контролька (Скрипт для проверки запущенного процесса)?)
Экзешник старт с блюсолеем, у меня его нет и вылазит ошибка...

Просьба сделать .ехе только икара...

mendisabal 06.08.2015 23:51

какой конеретно версии ahk используете ? в 10 ке нет ли возможности проверить :blush:
На всяк случай Способ запуска всех .ahk скриптов от администратора /
Тонкость : пролистываете вниз ,качаете Download AdminAutoHotkey Registry Hack ,запускаете от админа ,прегружаетесь ,а потом лезете в реестр и добавляете “C:\Program Files (х86)\AutoHotkey\AutoHotkey.exe” “%1″ %* (второй ключь аналогично),пробовал изначально ручками ключи создавать с правильным путем ,не прокатило почему то .

Моя идея :
запомнить текущий ур громкости
сразу громкость в ноль
подождать ХХ секунд
плавно добавить громкости с 0 до запомненого ранее уровня

избавит от "пуков" и всяких звуков инициализации ,пользоваться станет приятней .

Krysanov 07.08.2015 00:11

Цитата:

Сообщение от mendisabal (Сообщение 334721)
какой конеретно версии ahk используете ? в 10 ке нет ли возможности проверить :blush:
На всяк случай Способ запуска всех .ahk скриптов от администратора /
Тонкость : пролистываете вниз ,качаете Download AdminAutoHotkey Registry Hack ,запускаете от админа ,прегружаетесь ,а потом лезете в реестр и добавляете “C:\Program Files (х86)\AutoHotkey\AutoHotkey.exe” “%1″ %* (второй ключь аналогично),пробовал изначально ручками ключи создавать с правильным путем ,не прокатило почему то .

Моя идея :
запомнить текущий ур громкости
сразу громкость в ноль
подождать ХХ секунд
плавно добавить громкости с 0 до запомненого ранее уровня

избавит от "пуков" и всяких звуков инициализации ,пользоваться станет приятней .

Привет!! Первую часть поста понял, а вторую как то нет:be:.. Ты скрипт такой хочешь стоять с громкостью, чтобы избавится от ПУКОВ?

seriousstas 07.08.2015 00:22

mendisabal
Цитата:

На всяк случай Способ запуска всех .ahk скриптов от администратора
Это лучше и можно сделать силами одного скрипта .
Krysanov
Цитата:

Просьба сделать .ехе только икара...
Добавил

mendisabal 07.08.2015 00:22

Тык писать скрипт на закрытие\открытие полюбому ,просто добавить такую функцию не сложно ,для 7ки яб прям счас написал за 8мь минут ,а вот с новыми сложнее , администратора подавай ,да и боюсь внутренние команды другие ,а так ключь повернул ,немного тишины и плааавно уровень громкости на преждний уровень - майбох епт)
Цитата:

Сообщение от seriousstas (Сообщение 334727)
Это лучше и можно сделать силами одного скрипта .

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

seriousstas 07.08.2015 00:30

mendisabal
Цитата:

ну конечно можно навешать разрешений на скомпилированный екзешник ,но тогда его будет неудобно править\вылизывать .
:no:
Держи (пример закрытия процесса BT и окна Икара от админа "без бубнов") :
Код:

#NoTrayIcon
SetTitleMatchMode, 2
DetectHiddenWindows, On
RunAsAdmin()
;RunAs Admin,Password,

Run, taskkill /im BlueSoleilCS.exe /f, , Hide
WinClose, iCar DS

;RunAs
RunAsAdmin() {
  Loop, %0%  ; For each parameter:
    {
      param := %A_Index%  ; Fetch the contents of the variable whose name is contained in A_Index.
      params .= A_Space . param
    }
  ShellExecute := A_IsUnicode ? "shell32\ShellExecute":"shell32\ShellExecuteA"
     
  if not A_IsAdmin
  {
      If A_IsCompiled
        DllCall(ShellExecute, uint, 0, str, "RunAs", str, A_ScriptFullPath, str, params , str, A_WorkingDir, int, 1)
      Else
        DllCall(ShellExecute, uint, 0, str, "RunAs", str, A_AhkPath, str, """" . A_ScriptFullPath . """" . A_Space . params, str, A_WorkingDir, int, 1)
      ExitApp
  }
}
ExitApp


Krysanov 07.08.2015 00:41

Цитата:

Сообщение от seriousstas (Сообщение 334727)
mendisabal

Это лучше и можно сделать силами одного скрипта .
Krysanov

Добавил

Спасибо, пробовать буду позже.. Поздно уже

mendisabal 07.08.2015 00:54

Цитата:

Сообщение от seriousstas (Сообщение 334729)
mendisabal"без бубнов") :

поверь ,когда ты начнешь ворошить системные процессы ,да еще и в 10ке ,удивляться почему же эта падла не фуричит по инструкции ,лишним не будет , я про сам ahk говорю ,а не те действия что он делает от им адм ,ему не дает новая винда просто так копошиться глубоко в системе .
Версию не подскажешь ? моя древняя AutoHotkey v1.0.48.05 ,где смотреть знаешь ?

seriousstas 07.08.2015 00:59

Цитата:

Сообщение от mendisabal (Сообщение 334734)
поверь ,когда ты начнешь ворошить системные процессы ,да еще и в 10ке ,удивляться почему же эта падла не фуричит по инструкции ,лишним не будет , я про сам ahk говорю ,а не те действия что он делает от им адм ,ему не дает новая винда просто так копошиться глубоко в системе .

поэтому в 10-ку и не лезу , подожду минимум SP2
Цитата:

Версию не подскажешь ?
Version v1.1.22.03

seriousstas 07.08.2015 02:47

Добавил видео .
Уменьшив время Sleep, 2200 старт будет ещё быстрее , мгновенно, но "скушается" приветствие .

Krysanov 07.08.2015 05:05

Попробовал несколько раз , получилось.. Пару раз посредине экрана вылазила надпись об ошибке икара, при нажатии на ОК, окошко закрывалось , а икар работал.Время запуска икара надо бы сократить , значит надо менять время, значит надо самому компилировать..значит надо программу саму..
Икар запускается через задачу в планировщике, если задачу остановить и перезапустить, икар не запускается..
Еще остался вопрос с блюстаком .. У меня блюстак запускается после запуска икара (стоит на первом месте в автозапуска икара).. Как бы блюстак 27 версии и старше СПИТ в 8-ке нормально и нет смысла его перезапускать... Как быть, ставить его в планировщик задач отдельной задачей?

mendisabal 07.08.2015 10:58

Цитата:

Сообщение от seriousstas (Сообщение 334735)
подожду минимум SP2

думаю на права доступа и идентификаторы окон (если посылать нажатия в конкретные окна) не повлияет ,спасибо за версию ,опробую на 10 ке .

seriousstas 07.08.2015 18:59

Цитата:

спасибо за версию ,опробую на 10 ке .
не за что !
Krysanov
Цитата:

Пару раз посредине экрана вылазила надпись об ошибке икара
Происходит , если прога не закрыта и запускается поверх .
Этого не должно быть , Икар должен быть закрыт ещё до ухода в сон ,
самим-же Икаром , перечитай шапку темы, 1-й пункт(поправил текст) ,где прописать путь к IcarKill.exe, и посмотри видео -
просыпается система уже без Икара .

Krysanov 07.08.2015 19:38

Цитата:

Сообщение от seriousstas (Сообщение 334802)
...

Происходит , если прога не закрыта и запускается поверх .
Этого не должно быть , Икар должен быть закрыт ещё до ухода в сон , самим-же Икаром

Как и написано, так и сделано было... скачан был подправленный архив (только Икар)... внутри два файла ..

Цитата:

, перечитай шапку темы, 1-й пункт(поправил текст) ,где прописать путь к IcarKill.exe,
Перечитал:yes2::acute:, путь к киллу прописан как и написано здесь:
Цитата:

Настройки Икара > "Скрипты и внешние программы" > "Скрипты выполняемые по событиям" > уход в сон
Цитата:

и посмотри видео -
Смотрел, конечно же!!!
Цитата:

просыпается система уже без Икара .
Просыпается, да... да только вот, что у меня по крайней мере...
если комп спит недолго, там минут 30, то все ок, работает как и написано тобой... А вот, если поспит подольше ... часов 3 и более, вот тут то и не происходит почему то запуска Икара, хз... пункт 2 выполнил в точности по ссылке, приведенной в первом посте с уточнением по скрипту контрольному (п.6). Так понимаю, что он как раз и не работает...
Еще раз хочу прояснить.. у меня в планировщике задач создана простая задача на автозапуск икара, может в этом проблема? Но тогда, если эту задачу остановить, после перезагрузки надо будет запускать ручками Икар....

Krysanov 07.08.2015 20:01

Вложений: 1
Вот тут
Вложение 40686
есть такое, может что то здесь прописать?
Seriousstas
! У тебя 10 -ка винда? Может в этом дело *gmm* ?

seriousstas 07.08.2015 22:26

Krysanov
Windows 8.1 - оригинал - убрано большинство приложений Метро ...

Да , в этом меню нужно прописать путь к IcarKill.exe на уход в сон ,
выход из сна не нужен, тк мы Икар грузим отдельно .

Цитата:

приведенной в первом посте с уточнением по скрипту контрольному (п.6). Так понимаю, что он как раз и не работает...
В настройках электропитания я всё поотключал и везде поставил "сон" и "гибридный сон"

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

Krysanov 08.08.2015 09:55

Цитата:

Сообщение от seriousstas (Сообщение 334815)
Krysanov
Windows 8.1 - оригинал - убрано большинство приложений Метро ...

Да , в этом меню нужно прописать путь к IcarKill.exe на уход в сон ,
выход из сна не нужен, тк мы Икар грузим отдельно .


В настройках электропитания я всё поотключал и везде поставил "сон" и "гибридный сон"

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

Ок, сделаю скрины

mendisabal 08.08.2015 12:35

Цитата:

Сообщение от Krysanov (Сообщение 334804)
А вот, если поспит подольше ... часов 3 и более, вот тут то и не происходит почему то запуска Икара, хз...

если настраивал по моей инструкции , и бп в таком же режиме ,то сон больше чем пол часа является гибернацией ,так и работает гибридный спящий режим ,думаю дело именно в этом .
Бп держит питание в течении 30 мин (а может и 20 не помню) в это время под питанием оперативка в которой образ системы ,а если не пробудят в течении этого времени питание пропадает и система открывает образ с жесткого диска .

Krysanov 08.08.2015 14:40

Вложений: 7
Цитата:

Сообщение от mendisabal (Сообщение 334856)
если настраивал по моей инструкции , и бп в таком же режиме ,то сон больше чем пол часа является гибернацией ,так и работает гибридный спящий режим ,думаю дело именно в этом .
Бп держит питание в течении 30 мин (а может и 20 не помню) в это время под питанием оперативка в которой образ системы ,а если не пробудят в течении этого времени питание пропадает и система открывает образ с жесткого диска .

Да, делал по твоей инструкции... через 30 мин уходит в гипер.. И скрипт икар.старт просто не запускается
Так что делать?

Вот скрины планировщика задач
Вложение 40691 Вложение 40692 Вложение 40693 Вложение 40694
Вложение 40695 Вложение 40696
Вложение 40697

Видео не стал записывать, mendisabal именно так и написал, что у меня происходит..
Выходит, нужно скрипт подредактировать..
seriousstas, а у тебя как настроен режим сна?

Krysanov 09.08.2015 07:36

seriousstas, как у тебя работает после длительного 3-4 часового сна?

Krysanov 09.08.2015 20:51

Что то никто не отвечает... видать что то застопорилось..
LEXX09 посмотри, пожалуйста, этот код.. будет работать? Или что-нибудь добавить нужно?
Замысел в том, чтобы перед сном GPSGATE, икар, программа-звонилка для интернета закрывались, а после пробуждения, в том числе длительного трех и более часов запускались

Код:

#pragma compile(Icon, "C:\Program Files (x86)\AutoIt3\Icons\au3script_v9.ico")
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_Run_AU3Check=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include
#include
#include

Global $bLogging = true
Global $sLogFile = @ScriptDir & '\' & @ScriptName & '.log'

Global $PBT_APMRESUMESUSPEND = 0x0007

$hGUI = GUICreate("Restart", 100, 100, 1, 1)
GUIRegisterMsg($WM_POWERBROADCAST, "Standby")
; Запускаем iCarDS
    If (@OSArch = "X64") Then
        $iCarDS_path = "C:\Program Files (x86)\TipTop software\iCar DS\"
    Else
        $iCarDS_path = "C:\Program Files\TipTop software\iCar DS\"
    EndIf
    ShellExecute($iCarDS_path & "iCarDS.exe")
While 1
    Sleep(100)
WEnd

Func Standby($hWnd, $Msg, $wParam, $lParam)
    ; Если выход из спящего режима, то...
    If ($wParam = $PBT_APMRESUMESUSPEND) Then
        Restart()
    EndIf
EndFunc

Func Restart()

    ; Закрываем GpsGate, если запущен
    If ProcessExists("GpsGateXP.exe") Then
        ProcessClose("GpsGateXP.exe")
    EndIf

    ; Закрываем iCarDS, если запущен
    If ProcessExists("iCarDS.exe") Then
        ProcessClose("iCarDS.exe")
        EndIf
        ; Закрываем ПРОГРАММУ по коннекту инернета, если запущен
    If ProcessExists("SP Dialer.exe") Then
        ProcessClose("SP Dialer.exe.exe")
    EndIf

    Sleep(50)

    ; Запускаем GpsGate ЗДЕСЬ ПАРАМЕТР НИЖЕ ЛУЧШЕ УКАЗЫВАТЬ КАК ПУТЬ К ФАЙЛУ
    $GpsGate_path = "C:\Program Files (x86)\Franson\GpsGate 2.0\"
    ShellExecute($GpsGate_path & "GpsGateXP.exe")

    Sleep(50)

    ; Запускаем iCarDS
    If (@OSArch = "X64") Then
        $iCarDS_path = "C:\Program Files (x86)\TipTop software\iCar DS\"
    Else
        $iCarDS_path = "C:\Program Files\TipTop software\iCar DS\"
    EndIf
    ShellExecute($iCarDS_path & "iCarDS.exe")

    ; Запускаем ПРОГРАММУ по коннекту инернета
        $GpsGate_path = "C:\Program Files (x86)\SP Dialer\"
        ShellExecute($GpsGate_path & "SP Dialer.exe")


EndFunc


seriousstas 10.08.2015 01:16

Krysanov
Цитата:

seriousstas, как у тебя работает после длительного 3-4 часового сна?
Работает без проблем и после полного отключения питания .
Если у тебя работает и включен "гибридный сон " , то после перехода в гибернацию
действует тот-же Код события: 1 . И всё должно также, как и при обычном сне запускаться.
Я так понимаю , после гибернации загружается просто рабочий стол ?
Попробуй несколько действий :
Отключи , выгрузи другие скрипты , то-же от LEXX09 ,тк одновременно (без правки) они работать не будут.
На вкладке "Параметры" планировщика поставь галку "Немедленно запускать..." и убери с "Принудительная остановка.."
Убери все таймеры в настройках электропитания винды , поставь "никогда"
Там-же отключи "быстрый запуск" и перезагрузи систему .
Помести IcarStart.exe в папку с английским названием или в корень диска .
Задачу тоже назови(и создай всё поновой) на инглише .
Попробуй разные значения
Sleep, 2200
Больше - например 5000 ,
или меньше 500 .
Если не поможет , увы не знаю тогда, но догадываюсь , что возможно причина в обрезанной винде .

Lexx09 10.08.2015 12:25

Цитата:

Сообщение от Krysanov (Сообщение 334957)
Что то никто не отвечает... видать что то застопорилось..
LEXX09 посмотри, пожалуйста, этот код.. будет работать? Или что-нибудь добавить нужно?
Замысел в том, чтобы перед сном GPSGATE, икар, программа-звонилка для интернета закрывались, а после пробуждения, в том числе длительного трех и более часов запускались

В этом коде не отслеживается переход в сон. Соответственно, перед сном ничего закрываться не будет. Закрытие программ и их запуск будут происходить после выхода из сна.

Чтобы закрывать программы при переходе в сон - нужно отслеживать сообщение PBT_APMSUSPEND. См. тут.

ProcessClose("SP Dialer.exe.exe") - один exe лишний, должно быть ProcessClose("SP Dialer.exe")

В общем, будет примерно так:
Код:

#pragma compile(Icon, "C:\Program Files (x86)\AutoIt3\Icons\au3script_v9.ico")
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_Run_AU3Check=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include
#include
#include

Global $PBT_APMSUSPEND = 0x0004
Global $PBT_APMRESUMESUSPEND = 0x0007

$hGUI = GUICreate("Restart", 100, 100, 1, 1)
GUIRegisterMsg($WM_POWERBROADCAST, "Standby")

; Запускаем iCarDS
ShellExecute("C:\Program Files (x86)\TipTop software\iCar DS\iCarDS.exe")

While 1
    Sleep(100)
WEnd

Func Standby($hWnd, $Msg, $wParam, $lParam)
    Select
        ; Если вход в спящий режим, то...
        Case $wParam = $PBT_APMSUSPEND Then
            Suspend()
        ; Если выход из спящего режима, то...
        Case $wParam = $PBT_APMRESUMESUSPEND Then
            ResumeSuspend()
        Case Else
    EndSelect
EndFunc

; Вход в спящий режим
Func Suspend()

    ; Закрываем GpsGate, если запущена
    If ProcessExists("GpsGateXP.exe") Then
        ProcessClose("GpsGateXP.exe")
    EndIf

    ; Закрываем программу по коннекту инернета, если запущена
    If ProcessExists("SP Dialer.exe") Then
        ProcessClose("SP Dialer.exe")
    EndIf

    ; Закрываем iCarDS, если запущена
    If ProcessExists("iCarDS.exe") Then
        ProcessClose("iCarDS.exe")
    EndIf

EndFunc

; Выход из спящего режима
Func ResumeSuspend()

    ; Запускаем GpsGate
    ShellExecute("C:\Program Files (x86)\Franson\GpsGate 2.0\GpsGateXP.exe")

    ; Запускаем программу по коннекту инернета
    ShellExecute("C:\Program Files (x86)\SP Dialer\SP Dialer.exe")

    ; Запускаем iCarDS
    ShellExecute("C:\Program Files (x86)\TipTop software\iCar DS\iCarDS.exe")

EndFunc


Krysanov 10.08.2015 12:27

Цитата:

Сообщение от seriousstas (Сообщение 334963)
Krysanov

Работает без проблем и после полного отключения питания .
Если у тебя работает и включен "гибридный сон " , то после перехода в гибернацию
действует тот-же Код события: 1 . И всё должно также, как и при обычном сне запускаться.
Я так понимаю , после гибернации загружается просто рабочий стол ?
Попробуй несколько действий :
Отключи , выгрузи другие скрипты , то-же от LEXX09 ,тк одновременно (без правки) они работать не будут.
На вкладке "Параметры" планировщика поставь галку "Немедленно запускать..." и убери с "Принудительная остановка.."
Убери все таймеры в настройках электропитания винды , поставь "никогда"
Там-же отключи "быстрый запуск" и перезагрузи систему .
Помести IcarStart.exe в папку с английским названием или в корень диска .
Задачу тоже назови(и создай всё поновой) на инглише .
Попробуй разные значения
Sleep, 2200
Больше - например 5000 ,
или меньше 500 .
Если не поможет , увы не знаю тогда, но догадываюсь , что возможно причина в обрезанной винде .

Жму руку, с уважением, Андрей

Krysanov 10.08.2015 12:31

Цитата:

Сообщение от Lexx09 (Сообщение 334995)
В этом коде не отслеживается переход в сон. Соответственно, перед сном ничего закрываться не будет. Закрытие программ и их запуск будут происходить после выхода из сна.

Чтобы закрывать программы при переходе в сон - нужно отслеживать сообщение PBT_APMSUSPEND. См. тут.

ProcessClose("SP Dialer.exe.exe") - один exe лишний, должно быть ProcessClose("SP Dialer.exe")

В общем, будет примерно так:
Код:

#pragma compile(Icon, "C:\Program Files (x86)\AutoIt3\Icons\au3script_v9.ico")
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_Run_AU3Check=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include
#include
#include

Global $PBT_APMSUSPEND = 0x0004
Global $PBT_APMRESUMESUSPEND = 0x0007

$hGUI = GUICreate("Restart", 100, 100, 1, 1)
GUIRegisterMsg($WM_POWERBROADCAST, "Standby")

; Запускаем iCarDS
ShellExecute("C:\Program Files (x86)\TipTop software\iCar DS\iCarDS.exe")

While 1
    Sleep(100)
WEnd

Func Standby($hWnd, $Msg, $wParam, $lParam)
    Select
        ; Если вход в спящий режим, то...
        Case $wParam = $PBT_APMSUSPEND Then
            Suspend()
        ; Если выход из спящего режима, то...
        Case $wParam = $PBT_APMRESUMESUSPEND Then
            ResumeSuspend()
        Case Else
    EndSelect
EndFunc

; Вход в спящий режим
Func Suspend()

    ; Закрываем GpsGate, если запущена
    If ProcessExists("GpsGateXP.exe") Then
        ProcessClose("GpsGateXP.exe")
    EndIf

    ; Закрываем программу по коннекту инернета, если запущена
    If ProcessExists("SP Dialer.exe") Then
        ProcessClose("SP Dialer.exe")
    EndIf

    ; Закрываем iCarDS, если запущена
    If ProcessExists("iCarDS.exe") Then
        ProcessClose("iCarDS.exe")
    EndIf

EndFunc

; Выход из спящего режима
Func ResumeSuspend()

    ; Запускаем GpsGate
    ShellExecute("C:\Program Files (x86)\Franson\GpsGate 2.0\GpsGateXP.exe")

    ; Запускаем программу по коннекту инернета
    ShellExecute("C:\Program Files (x86)\SP Dialer\SP Dialer.exe")

    ; Запускаем iCarDS
    ShellExecute("C:\Program Files (x86)\TipTop software\iCar DS\iCarDS.exe")

EndFunc


Жму руку, с уважением Андрей

Krysanov 10.08.2015 17:20

seriousstas, воспользовался твоим советом, поковырялся в параметрах планировщика и вроде заработало, теперь время просыпания надо уменьшить , сек 5 вижу раб стол ....
Спасибо
...
Рано радовался, опять не загружается, буду ковырять дальше

Krysanov 10.08.2015 20:06

Lexx09, попробовал твой скрипт, скомпилировал RESTARRT.exe,скопировал на диск Д, закинул в планировщик, после просыпания, вылазит вот это

Цитата:

LINE 2326 (file "D:\RESTARRT.exe"): error: Illegal text at the end of statement (one statement per line)
Попробовал запустить "свой" код, с исправленными ошибками LEXX09, на домашнем ноуте загружается на ура, и засыпает....Но этот код отличается от крайнего... въехать не могу где ошибка..

Lexx09 11.08.2015 00:32

Лишнее Then после Case. Должно быть так:
Код:

#pragma compile(Icon, "C:\Program Files (x86)\AutoIt3\Icons\au3script_v9.ico")
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_Run_AU3Check=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include
#include
#include

Global $PBT_APMSUSPEND = 0x0004
Global $PBT_APMRESUMESUSPEND = 0x0007

$hGUI = GUICreate("Restart", 100, 100, 1, 1)
GUIRegisterMsg($WM_POWERBROADCAST, "Standby")

; Запускаем iCarDS
ShellExecute("C:\Program Files (x86)\TipTop software\iCar DS\iCarDS.exe")

While 1
    Sleep(100)
WEnd

Func Standby($hWnd, $Msg, $wParam, $lParam)
    Select
        ; Вход в спящий режим
        Case $wParam = $PBT_APMSUSPEND
            Suspend()
        ; Выход из спящего режима
        Case $wParam = $PBT_APMRESUMESUSPEND
            ResumeSuspend()
        Case Else
    EndSelect
EndFunc

; Вход в спящий режим
Func Suspend()

    ; Закрываем iCarDS
    WinClose("iCar DS")

    ; Закрываем программу по коннекту интернета
    ProcessClose("SP Dialer.exe")

    ; Закрываем GpsGate
    WinClose("Franson GpsGate")

EndFunc

; Выход из спящего режима
Func ResumeSuspend()

    ; Запускаем GpsGate
    ShellExecute("C:\Program Files (x86)\Franson\GpsGate 2.0\GpsGateXP.exe")

    ; Запускаем программу по коннекту интернета
    ShellExecute("C:\Program Files (x86)\SP Dialer\SP Dialer.exe")

    ; Запускаем iCarDS
    ShellExecute("C:\Program Files (x86)\TipTop software\iCar DS\iCarDS.exe")

EndFunc


seriousstas 11.08.2015 01:15

Lexx09
Я не тестил этот скрипт , но предполагаю
ProcessClose("iCarDS.exe")
"убьёт" Икар без сохранения последнего состояния
и при следующей загрузке произойдёт авто восстановление предидущих запущенных
до последнего закрытия окон .
WinClose или WinKill закрывает Икар с сохранением последнего состояния

Krysanov 11.08.2015 09:40

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

Lexx09 11.08.2015 10:42

Цитата:

Сообщение от seriousstas (Сообщение 335094)
Lexx09

Я не тестил этот скрипт , но предполагаю
ProcessClose("iCarDS.exe")
"убьёт" Икар без сохранения последнего состояния
и при следующей загрузке произойдёт авто восстановление предидущих запущенных
до последнего закрытия окон .
WinClose или WinKill закрывает Икар с сохранением последнего состояния

Да, WinClose лучше. Скрипт поправил.


Часовой пояс GMT +4, время: 17:49.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot