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)

Krysanov 28.08.2015 14:55

Цитата:

Сообщение от Игорь_К (Сообщение 336723)
выложи свой финальный скрипт, подредактирую для себя)))
и как у вас так у всех блюстак быстро грузится?
я качаю с инета устанавливаю и жду полминуты и то это на ноутбуке дома который более менее мощный...на системе в машине даже пробовать не стал...может сборка есть какая или настройки? я просто не в курсе

про блюстак тут

вот код

Код:

#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
; Это команда на сон
Global $PBT_APMSUSPEND = 0x0004
Global $PBT_APMRESUMESUSPEND = 0x0007

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

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

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

; Запускаем Bluestacks вместе с лаунчером MyLauncher
        $Bluestacks_path = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Bluestacks", "InstallDir")
        ShellExecute($Bluestacks_path & "HD-RunApp.exe", "-p ru.znalexey.mylauncher -a ru.znalexey.mylauncher.LauncherActivity")

        ; Запускаем программу по коннекту интернета (У кого нет такой программы, тогда эту и следующие строки удалить!)
    ShellExecute("C:\Program Files (x86)\SP Dialer\SP Dialer.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")

        ;Закрываем Блюстак
        ShellExecute("C:\Program Files (x86)\BlueStacks\HD-Quit.exe")

  If (ProcessWaitClose("iCarDS.exe", 3) == 0) Then
        ProcessClose("iCarDS.exe")
  EndIf
    If (ProcessWaitClose("SP Dialer.exe", 3) == 0) Then
        ProcessClose("SP Dialer.exe")
  EndIf

  If (ProcessWaitClose("HD-Frontend.exe", 3) == 0) Then
    ProcessClose("HD-Frontend.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")

        ; Запускаем Bluestacks вместе с лаунчером MyLauncher
        $Bluestacks_path = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Bluestacks", "InstallDir")
        ShellExecute($Bluestacks_path & "HD-RunApp.exe", "-p ru.znalexey.mylauncher -a ru.znalexey.mylauncher.LauncherActivity")


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

EndFunc

Код буду менять по ходу еще...

seriousstas 28.08.2015 15:35

Lexx09
Попробовал - работает!
Krysanov
Тоже попробуй ,
просто добавь код в конец сюда :
C:\Users\HOME\Documents\iCarDS\skins\Chameleon\Scr ipts\iCarMainScript.au3
и скомпилируй (оригинал не забудь переименовать) - должно работать !
И не нужно никаких автозагрузок для скрипта :)

Lexx09 28.08.2015 15:44

Цитата:

Сообщение от Krysanov (Сообщение 336730)
вот код

Код:

...
Код буду менять по ходу еще...

  1. В первой строке нет (x86) в пути к иконке.
  2. #include и #include можно убрать.
  3. И что-то не нравится мне эта команда - WinClose("SP Dialer.exe"). В этой команде должен быть указан заголовок окна. Он действительно такой - SP Dialer.exe? Если хочешь завершать по имени процесса, тогда надо так: ProcessClose("SP Dialer.exe").

Krysanov 28.08.2015 17:20

Цитата:

Сообщение от Lexx09 (Сообщение 336738)
  1. В первой строке нет (x86) в пути к иконке.
  2. #include и #include можно убрать.
  3. И что-то не нравится мне эта команда - WinClose("SP Dialer.exe"). В этой команде должен быть указан заголовок окна. Он действительно такой - SP Dialer.exe? Если хочешь завершать по имени процесса, тогда надо так: ProcessClose("SP Dialer.exe").

1. Для Игоря старался...изменил
2. учту, уберу
3. Я просто последовал совету и заменил на WinClose, в принципе эта программа неплохо просыпается, но бывает зависает и тогда интернета нет, помогает только перезагрузка... В общем, изменю...
ПС. Как работает сейчас мне очень нравится!!!

Krysanov 28.08.2015 17:23

Цитата:

Сообщение от seriousstas (Сообщение 336735)

Krysanov
Тоже попробуй ,
просто добавь код в конец сюда :
C:\Users\HOME\Documents\iCarDS\skins\Chameleon\Scr ipts\iCarMainScript.au3
и скомпилируй (оригинал не забудь переименовать) - должно работать !
И не нужно никаких автозагрузок для скрипта :)

Я наверное, ужасно туплю.. но какой (свой?) код и куда надо добавить?:bye:

Krysanov 28.08.2015 19:22

Цитата:

Сообщение от Lexx09 (Сообщение 336738)
  1. В первой строке нет (x86) в пути к иконке.
  2. #include и #include можно убрать.
  3. И что-то не нравится мне эта команда - WinClose("SP Dialer.exe"). В этой команде должен быть указан заголовок окна. Он действительно такой - SP Dialer.exe? Если хочешь завершать по имени процесса, тогда надо так: ProcessClose("SP Dialer.exe").


Подправил код под свои нужды

Lexx09 28.08.2015 19:58

1. Должно быть так (забыл EndIf):
Код:

If (ProcessWaitClose("HD-Quit.exe", 3) == 0) Then
    ProcessClose("HD-Quit.exe")
EndIf

2. Следить за HD-Quit.exe некорректно. Это же не сам Bluestacks, а спец. скрипт для его полного закрытия. Лучше следить за HD-Frontend.exe:
Код:

If (ProcessWaitClose("HD-Frontend.exe", 3) == 0) Then
    ProcessClose("HD-Frontend.exe")
EndIf

Или за HD-Agent.exe.

3. #include можно убрать.

Krysanov 28.08.2015 20:07

Цитата:

Сообщение от Lexx09 (Сообщение 336765)
1. Должно быть так (забыл EndIf):
Код:

If (ProcessWaitClose("HD-Quit.exe", 3) == 0) Then
    ProcessClose("HD-Quit.exe")
EndIf

2. Следить за HD-Quit.exe некорректно. Это же не сам Bluestacks, а спец. скрипт для его полного закрытия. Лучше следить за HD-Frontend.exe:
Код:

If (ProcessWaitClose("HD-Frontend.exe", 3) == 0) Then
    ProcessClose("HD-Frontend.exe")
EndIf

Или за HD-Agent.exe.

3. #include можно убрать.

Спасибо, дружище, подправил!!! Вот видишь какой из меня программист? На ровном месте косячу:blush: Хоть теперь понимаю, что и зачем в коде..:secret:

seriousstas 28.08.2015 23:10

Цитата:

Сообщение от Krysanov (Сообщение 336752)
Я наверное, ужасно туплю.. но какой (свой?) код и куда надо добавить?:bye:

1 В этот скрипт :
http://pccar.ru/showpost.php?p=336718&postcount=117
в конец добавть свой .
Это :
Код:

#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

добавь из своего скрипта в шапку iCarMainScript
2 Скомпилируй и перенеси с заменой по пути :
C:\Users\HOME\Documents\iCarDS\skins\Chameleon\Scr ipts\iCarMainScript.exe
3 Поудаляй всё остальное - пробуй

Krysanov 29.08.2015 08:20

seriousstas, попробовал, что ты посоветовал..
Вот что получилось

Код:

#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
Local $omyerror
$omyerror = ObjEvent("AutoIt.Error", "MyErrFunc")
Dim $vol_from_speed[201]
Global $rr = ObjCreate("RideRunner.sdk")
_main()

Func myerrfunc()
        $hexnumber = Hex($omyerror.number, 8)
        Exit
EndFunc

Func _initvolarray()
        $delta = 0
        $vol_from_speed[0] = $delta
        For $i = 0 To 150 Step 10
                $tmp_vol_from_speed = $rr.getinfo("=$vol_from_speed_" & $i + 10 & "$") / 10
                For $j = 1 To 10 Step 1
                        $delta = $delta + $tmp_vol_from_speed
                        $vol_from_speed[$i + $j] = Round($delta, 2)
                Next
        Next
        For $i = 162 To 200 Step 1
                $delta = $delta + $tmp_vol_from_speed
                $vol_from_speed[$i] = Round($delta, 2)
        Next
EndFunc

Func _main()
        Global $iswork = 1
        Global $isrun = 0
        Global $name = "[CLASS:TSkinForm]"
        Global $namecontrol = ""
        Global $foobarwindowtitleprev = ""
        Global $speed_prev = Round(Number($rr.getinfo("$IsDriveSpd$")), 0)
        Global $speed_prev_round = Round($speed_prev, -1)
        Global $vol_from_speed_full = 0
        Global $vol_min = Number($rr.getinfo("=$vol_from_speed_min$"))
        Global $vol_max = Number($rr.getinfo("=$vol_from_speed_max$"))
        _initvolarray()
        $rr.execute("SetVar;vol_from_speed_full;" & Round($vol_from_speed[$speed_prev], 2))
        While $iswork
                $handle = WinGetHandle($name)
                If @error Then
                        If $isrun Then
                                $iswork = 0
                        EndIf
                Else
                        $isrun = 1
                        If WinActive($name) OR WinActive("[CLASS:TOverlayForm]") OR WinActive("[CLASS:TPopupSkinForm]") OR WinActive("[CLASS:TModalSkinForm]") OR WinActive("[CLASS:TMediaForm]") Then
                                $rr.execute("SETIND;!iCarDS_Active;ON")
                        Else
                                $rr.execute("SETIND;!iCarDS_Active;OFF")
                        EndIf
                EndIf
                $volume = StringSplit($rr.getinfo("VOLUME"), "%")
                If @error = 0 Then
                        $current_volume = Number($volume[1])
                Else
                        $current_volume = 0
                EndIf
                $speed_current = Round(Number($rr.getinfo("$IsDriveSpd$")), 0)
                If $speed_current > $speed_prev Then
                        $delta_vol = Round($vol_from_speed[$speed_current] - $vol_from_speed[$speed_prev], 2)
                        If $current_volume + $delta_vol < $vol_max Then $rr.execute("volperc+;" & $delta_vol & "||SetVar;vol_from_speed_full;" & $vol_from_speed[$speed_current])
                Else
                        If $speed_current < $speed_prev Then
                                $delta_vol = Round($vol_from_speed[$speed_prev] - $vol_from_speed[$speed_current], 2)
                                If $current_volume - $delta_vol > $vol_min Then $rr.execute("volperc-;" & $delta_vol & "||SetVar;vol_from_speed_full;" & $vol_from_speed[$speed_current])
                        EndIf
                EndIf
                $speed_prev = $speed_current
                If Number($rr.getinfo("=$Is_new_vol_from_speed$")) = 1 Then
                        _initvolarray()
                        $rr.execute("SetVar;Is_new_vol_from_speed;0")
                EndIf
                Sleep(300)
        WEnd
EndFunc
; Это команда на сон
Global $PBT_APMSUSPEND = 0x0004
Global $PBT_APMRESUMESUSPEND = 0x0007

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

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

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

; Запускаем Bluestacks вместе с лаунчером MyLauncher
        $Bluestacks_path = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Bluestacks", "InstallDir")
        ShellExecute($Bluestacks_path & "HD-RunApp.exe", "-p ru.znalexey.mylauncher -a ru.znalexey.mylauncher.LauncherActivity")

        ; Запускаем программу по коннекту интернета (У кого нет такой программы, тогда эту и следующие строки удалить!)
    ShellExecute("C:\Program Files (x86)\SP Dialer\SP Dialer.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")

        ;Закрываем Блюстак
        ShellExecute("C:\Program Files (x86)\BlueStacks\HD-Quit.exe")

  If (ProcessWaitClose("iCarDS.exe", 3) == 0) Then
        ProcessClose("iCarDS.exe")
  EndIf
    If (ProcessWaitClose("SP Dialer.exe", 3) == 0) Then
        ProcessClose("SP Dialer.exe")
  EndIf

  If (ProcessWaitClose("HD-Frontend.exe", 3) == 0) Then
    ProcessClose("HD-Frontend.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")

        ; Запускаем Bluestacks вместе с лаунчером MyLauncher
        $Bluestacks_path = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Bluestacks", "InstallDir")
        ShellExecute($Bluestacks_path & "HD-RunApp.exe", "-p ru.znalexey.mylauncher -a ru.znalexey.mylauncher.LauncherActivity")


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

EndFunc

В автозагруке был только этот скрипт, который отключил (он у меня при включении компа все загружал)... и GpsGateWatcher скрипт...Потом заменил iCarMainScript на свой.... и перезагрузил комп... и тишина.. икар не загрузился...


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

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