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)

120705 19.12.2016 12:28

[QUOTE=seriousstas;377759]Это понятно, я про галку "Автоматическое переподключение" в трее ,
если снять ?
..........
Попробуй, как сейчас . Изменил файлы в архиве на проверку пинга яндекса ,был Гуголь (скрипт пингует наличие и-нета ,
если его нет - рестартует адаптер) , но что-то мне не нравится ,как работает , поэтому -
прошлый вариант Wi-Fi ,будет :
SUSPEND_resr_foob+WiFi+BT
Код:

#NoTrayIcon
#RequireAdmin
#pragma compile(Icon, "C:\Program Files (x86)\AutoIt3\Icons\MyAutoIt3_Yellow.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

; Это команда на сон
Global $PBT_APMSUSPEND = 0x0004
Global $PBT_APMRESUMESUSPEND = 0x0007

$hGUI = GUICreate("Restart", 100, 100, 1, 1)
GUIRegisterMsg($WM_POWERBROADCAST, "Standby")
If @OSArch = "X86" Then
    $ProgramFileDir = "C:\Program Files"
    Else
    $ProgramFileDir = "C:\Program Files (x86)"
    endif

Func Standby($hWnd, $Msg, $wParam, $lParam)
    Select
        Case $wParam = $PBT_APMSUSPEND
            Suspend()
        Case $wParam = $PBT_APMRESUMESUSPEND
            ResumeSuspend()
        Case Else
    EndSelect
EndFunc
While 1

$connect = _GetNetworkConnect()
If Not $connect Then
_RunDOS('netsh interface set interface "Беспроводная сеть" DISABLE') ; выкл "Local Area Connection"
Sleep(200)
_RunDOS('netsh interface set interface "Беспроводная сеть" ENABLE') ; вкл "Local Area Connection"
EndIf
Sleep(12000)
WEnd

Func _GetNetworkConnect()
    Local Const $NETWORK_ALIVE_LAN = 0x1  ;net card connection
    Local $aRet, $iResult
    $aRet = DllCall("sensapi.dll", "int", "IsNetworkAlive", "int*", 0)
    If BitAND($aRet[1], $NETWORK_ALIVE_LAN) Then $iResult &= "LAN connected" & @LF
    Return $iResult
EndFunc

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

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

    ; Перезапуск BlueSoleilCS
    Run('taskkill /f /im BtTray.exe',"", @SW_HIDE)
    Run('taskkill /f /im BlueSoleilCS.exe',"", @SW_HIDE)
    Run('taskkill /f /im BsHelpCS.exe',"", @SW_HIDE)
    Run('taskkill /f /im BsMobileCS.exe',"", @SW_HIDE)
ShellExecute($ProgramFileDir & "\IVT Corporation\BlueSoleil\BtTray.exe")

ControlSend("[CLASS:{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}]", "", "MegaPanelSplitterWindowContainer1", "{NUMPAD3}")
Sleep(300)
ControlSend("[CLASS:{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}]", "", "uie_wsh_panel_mod_class14", "{NUMPAD3}")


$connect = _GetNetworkConnect()
If Not $connect Then
_RunDOS('netsh interface set interface "Беспроводная сеть" DISABLE') ; выкл "Local Area Connection"
Sleep(200)
_RunDOS('netsh interface set interface "Беспроводная сеть" ENABLE') ; вкл "Local Area Connection"
EndFunc

Скомпилил скрипт, закинул в папку Икар. Отваливания сети нет. Вот значёк в трее Blisol из серого вида в голубой переходит где то через 2 мин после выхода из сна.

seriousstas 19.12.2016 13:36

Цитата:

Скомпилил скрипт, закинул в папку Икар
Ну , чтоб сходу - этого мало , нужно либо запустить его , либо перезапустить ПК
Попробу в этом блоке добавь паузы
Цитата:

Sleep(2000)

; Перезапуск BlueSoleilCS
Run('taskkill /f /im BtTray.exe',"", @SW_HIDE)
Run('taskkill /f /im BlueSoleilCS.exe',"", @SW_HIDE)
Run('taskkill /f /im BsHelpCS.exe',"", @SW_HIDE)
Run('taskkill /f /im BsMobileCS.exe',"", @SW_HIDE)
ShellExecute($ProgramFileDir & "\IVT Corporation\BlueSoleil\BtTray.exe")
Код:

Sleep(3000)

    ; Перезапуск BlueSoleilCS
    Run('taskkill /f /im BtTray.exe',"", @SW_HIDE)
    Run('taskkill /f /im BlueSoleilCS.exe',"", @SW_HIDE)
    Run('taskkill /f /im BsHelpCS.exe',"", @SW_HIDE)
    Run('taskkill /f /im BsMobileCS.exe',"", @SW_HIDE)
Sleep(1000)
ShellExecute($ProgramFileDir & "\IVT Corporation\BlueSoleil\BtTray.exe")


120705 19.12.2016 14:07

Цитата:

Сообщение от seriousstas (Сообщение 377780)
Попробу в этом блоке добавь паузы

Код:

Sleep(3000)

    ; Перезапуск BlueSoleilCS
    Run('taskkill /f /im BtTray.exe',"", @SW_HIDE)
    Run('taskkill /f /im BlueSoleilCS.exe',"", @SW_HIDE)
    Run('taskkill /f /im BsHelpCS.exe',"", @SW_HIDE)
    Run('taskkill /f /im BsMobileCS.exe',"", @SW_HIDE)
Sleep(1000)
ShellExecute($ProgramFileDir & "\IVT Corporation\BlueSoleil\BtTray.exe")


Сделал, вылетела ошибка. А без этого SUSPEND при выходе из сна Блют. и соединение всё ОК. Вопрос на х.. он нужен? Отличий я не заменил.

seriousstas 19.12.2016 15:06

Цитата:

Сообщение от 120705 (Сообщение 377785)
Сделал, вылетела ошибка. А без этого SUSPEND при выходе из сна Блют. и соединение всё ОК. Вопрос на х.. он нужен? Отличий я не заменил.

В самом конце добавь EndIf перед
EndFunc
тоесть так :
Код:

EndIf
EndFunc

Цитата:

Вопрос на х.. он нужен?
Это я Тебе задавал этот вопрос :bye: :
может не "с хамским тоном" :)
http://pccar.ru/showpost.php?p=377591&postcount=449
Нужно , хоть немного понимать для чего оно тебе ..

У каждого свое . Сылка , где расписал по-блокам есть в шапке .
Ты можешь грузить только Икар , Выбрав RUN_iCarDS.exe .
Будет без SUSPEND .

ControlSend.. в этом скрипте исправляет проблемы с Фубаром (его таймерами) после долгого сна

Блок Wi-Fi нужен для быстрого подхвата после поворота ключа ,
например завел , включил раздачу и-нета с моб - произошел подхват . Быстро , а не через две минуты .

Переапуск Бт мне нужен после выхода из гибернации (после полного отключения питания)
Значек серый . То-же у Евгена, но на твоем железе может быть все ок (это ты определяешь)..
Универсального ничего нет.
Скрипт можно самому поправить (удалить или вставить что-то) , но сделал и пару варианов готовых (можно выбрать).
Выбираешь ,что запускать вместе с Икаром , и если выбран SUSPEND - что запускать внутри SUSPEND (6 вариантов),
что-б испавить косяки, как-то так.

120705 19.12.2016 18:18

Цитата:

Сообщение от seriousstas (Сообщение 377790)
В самом конце добавь EndIf перед
EndFunc
тоесть так :
Код:

EndIf
EndFunc

Это я Тебе задавал этот вопрос :bye: :
может не "с хамским тоном" :)
.

Ты меня извини, я ЭТО (х...) не мел ввиду. Несознательно получилось, что читается хёстко:blush:

Добавил EndIf. Всё нормально работает. В дисп. зад. отображается. Но в трее уже не виден.

seriousstas 19.12.2016 18:32

По BlueSoleil проверь ( без скрипта) , после отключения питания он выходит из сна(синеет, зенелеет )) ?
Должен сразу выходить .
(У меня через две минуты синеет , но связи нет - подвисает .)
Если да , то убери этот блок :
Цитата:

Sleep(3000)

; Перезапуск BlueSoleilCS
Run('taskkill /f /im BtTray.exe',"", @SW_HIDE)
Run('taskkill /f /im BlueSoleilCS.exe',"", @SW_HIDE)
Run('taskkill /f /im BsHelpCS.exe',"", @SW_HIDE)
Run('taskkill /f /im BsMobileCS.exe',"", @SW_HIDE)
Sleep(1000)
ShellExecute($ProgramFileDir & "\IVT Corporation\BlueSoleil\BtTray.exe")

120705 19.12.2016 18:38

Цитата:

Сообщение от seriousstas (Сообщение 377807)
По БТ проверь , после отключения питания он выходит из сна ?

Да выходит, и всё восстанавливается.(синеет)
Я тебе уже говорил, что время очень не намного отличается после включения или выходе из сна....----Ну это я так,,. музыка навеяла..:whistle:

120705 19.12.2016 18:48

Цитата:

Сообщение от seriousstas (Сообщение 377807)
По BlueSoleil проверь ( без скрипта) , после отключения питания он выходит из сна(синеет, зенелеет )) ?
Должен сразу выходить .
(У меня через две минуты синеет , но связи нет - подвисает .)
Если да , то убери этот блок :

"Если да "... Ты имеешь ввиду, если всё нормально, то убрать этот блок???

seriousstas 19.12.2016 19:49

Цитата:

Сообщение от 120705 (Сообщение 377811)
"Если да "... Ты имеешь ввиду, если всё нормально, то убрать этот блок???

Да , убери конечно , зачем тебе лишний перезапуск служб синезуба,
если всё ок.
Цитата:

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

120705 19.12.2016 21:19

Цитата:

Сообщение от seriousstas (Сообщение 377821)
так 2 мин скриптом или без ?
попробуй как со скриптом, должно ускорить . Подхват должен-быть моментально .

О загрузке в чистую или после сна (при включении питания) Скрипт в расчёт не беру. Разница по времени секунд 4-5. Завтра видос попробую снять по загрузке в чистую и после сна. Посмотрим разницу по времени.


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

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