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

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Bluestacks (http://pccar.ru/forumdisplay.php?f=132)
-   -   iCarDS + Bluestacks + Яндекс.Навигатор (http://pccar.ru/showthread.php?t=19528)

Lexx09 30.09.2015 13:33

Цитата:

Сообщение от Lexx09 (Сообщение 339309)
Цитата:

Сообщение от Krysanov (Сообщение 339294)
Или может пока скрипт http://www.pccar.ru/showthread.php?t=23331&page=13 как то подправить, принудительно закрывать-открывать бридж при уходе в сон и просыпании... Только я не знаю, какой путь к бриджу надо писать... Думаю, это бы решило мою проблему..

Этим скриптом управлять GPSBridge'м ну никак не получится, ведь он находится внутри Bluestacks. Управлять можно только Windows-приложениями.

Порылся в сети...

Все таки можно убивать и запускать GPSBrdige из-под Windows с помощью ADB (Android Debug Bridge), прописав в скрипте такие команды:
Код:

$adb_path="Путь к файлу adb.exe";
ShellExecute($adb_path, "shell am force-stop com.rbc.gpsbridge");
ShellExecute($adb_path, "shell am start -n com.rbc.gpsbridge/com.rbc.gpsbridge.MainActivity");

Первая команда (2-я строка) - закрытие GPSBrdige.
Вторая команда (3-я строка) - запуск GPSBrdige.

Проверил на телефоне - GPSBridge убивается и запускается.)
Попозже проверю на Bluestacks, думаю, должно работать.

Krysanov, ну а пока можешь сам попробовать.
Скачай ADB отсюда, распакуй в папку C:\ADB.
В скрипте исправь функцию Suspend:
Код:

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

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

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

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

        ; Закрываем GPSBridge
        ShellExecute("C:\ADB\adb.exe", "shell am force-stop com.rbc.gpsbridge");
       
        ;Закрываем Блюстак
        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

Запускаться GPSBridge будет моим лаунчером.

Еще не уверен, нужно ли теперь закрывать Bluestacks при входе в сон. Попробуй по всякому...

PS: И не уверен, что нужно закрывать GPSBridge перед сном. Ведь Bluestacks и так закрывается полностью через HD-Quit.exe.

Lexx09 30.09.2015 15:06

Хм, с этим ADB, возможно, и лаунчер станет не нужным. Можно из скрипта все запускать...

Krysanov 30.09.2015 16:49

Код HTML:

В скрипте исправь функцию Suspend:
исправил, попробовал , вот что вылезло
не удается найти путь C:\ADB\adb.exe shell am force-stop com.rbc.gpsbridge проверьте правильность пути:wacko2:

Lexx09 30.09.2015 17:03

Сорри, вот так надо прописать:
Код:

ShellExecute("C:\ADB\adb.exe", "shell am force-stop com.rbc.gpsbridge");

Krysanov 30.09.2015 17:37

Цитата:

Сообщение от Lexx09 (Сообщение 339352)
Сорри, вот так надо прописать:
Код:

ShellExecute("C:\ADB\adb.exe", "shell am force-stop com.rbc.gpsbridge");

Сейчас проверю и отпишусь...
А насчёт блюстака.. Не нужен он в скрипте как бы... Имхо

Krysanov 30.09.2015 17:55

получилось, запустилось

Вот код
Код HTML:

#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 <WindowsConstants.au3>
; Это команда на сон
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")

        ; Закрываем GPSBridge
        ShellExecute("C:\ADB\adb.exe", "shell am force-stop com.rbc.gpsbridge");

        ;Закрываем Блюстак
        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

теперь только кататься и проверять

Krysanov 30.09.2015 20:06

пробовал всяко.. ничего не изменилось.. После пробуждения бридж данные не принимает:zipped:

Krysanov 30.09.2015 20:47

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

Lexx09 01.10.2015 00:28

У меня везде - GPSBridge v1.0.22, Bluestacks v0.9.27, Win7.

Krysanov 01.10.2015 05:08

Цитата:

Сообщение от Lexx09 (Сообщение 339394)
У меня везде - GPSBridge v1.0.22, Bluestacks v0.9.27, Win7.

Все также, за исключением винды 8.1


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

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