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 21.07.2016 04:31

Небольшие правки (для своих нужд и для стабильной работы) скриптов в шапке темы и полезные ссылки .
Схема работает очень стабильно уже долгое время - без единого сбоя ..

Расшифровка блоков SUSPEND.exe :

Пауза при обычном запуске (без сна) :
Sleep(1500) - Задержка 1.5 секунды

; Перезапуск служб BlueSoleil при обычном старте
Рестарт служб BT BlueSoleil для стабильности при выходе из Сна и Гибернации

;Циклический перезапуск Wi-Fi:
если нет И-нета - рестарт - позволяет быстро сединится, например с мобильным 3G . В паре с Tasker - соединяется мгновенно .

;Циклическая проверка прозрачности иконки полноэкранного шаблона FSReal
подробнее :
http://pccar.ru/showpost.php?p=344768&postcount=216

; Вход в спящий режим (Команды)
Закрываем Икар :
WinClose("iCar DS")
и всё что нужно ещё ...

; Выход из спящего режима(Команды)
If (ProcessWaitClose... - Здесь перепроверяем наличие процессов(окон) - если есть - закрываем
WinClose - закрыть программу
ProcessClose- закрыть принудительно программу (процесс)
Запуск Икара :
ShellExecute("C:\Program Files (x86)\TipTop software\iCar DS\iCarDS.exe")
и все, что нужно ещё ..

Паузы Sleep -можно изменить под себя

Если что-то не нужно , то просто удаляем блоками :
Код:

    ; Перезапуск 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(200)

или
Код:

; Перезапуск Wi-Fi (с проверкой)
$var = Ping("www.google.com",250)
If @error Then
_RunDOS('netsh interface set interface "Беспроводная сеть" DISABLE') ; выкл "Local Area Connection"
Sleep(2000)
_RunDOS('netsh interface set interface "Беспроводная сеть" ENABLE') ; вкл "Local Area Connection"

или (здесь два действия внутри одного цикла)
Код:

;Начало цикла
While 1
;Циклический перезапуск Wi-Fi:
$connect = _GetNetworkConnect()
If Not $connect Then
_RunDOS('netsh interface set interface "Беспроводная сеть" DISABLE') ; выкл "Local Area Connection"
Sleep(5000)
_RunDOS('netsh interface set interface "Беспроводная сеть" ENABLE') ; вкл "Local Area Connection"
EndIf
;Циклическая проверка прозрачности иконки полноэкранного шаблона FSReal
$winList = WinList("[CLASS:TOverlayForm; W:77; H:73]")
        If ($winList[0][0] = 1) Then
                $hwnd = $winList[1][1]
                WinSetTrans($hWnd, "", 50)
        EndIf
        Sleep(10000)
WEnd
;завершение цикла

;Циклическая проверка прозрачности Кнопки полноэкранного шаблона FSReal :
Узнать размеры(W:77; H:73) кнопки можно программой AutoIt3\Au3Info_x64.exe
перетянув прицел на неё .

shumaz 27.07.2016 04:15

Цитата:

Сообщение от seriousstas (Сообщение 334484)
(сам Икар при этом стартует через встроенную автозагрузку из настроек Конфигуратора)

о каком конфигураторе речь не пойму?(((

P.S. Стас, почисть плиз личку. не даёт тебе ЛС отправить (

seriousstas 27.07.2016 05:30

Цитата:

Сообщение от shumaz (Сообщение 365735)
о каком конфигураторе речь не пойму?(((

P.S. Стас, почисть плиз личку. не даёт тебе ЛС отправить (

родном - iCarDSConfig

почистил :)

Евген_21 19.08.2016 18:31

seriousstas, Lexx09 привет. Не по теме ,нужна помощь.
При запуске Икара мельтешит окно Плагина связи с авто
OBDmain. Хочу сделать его прозрачным на определенное
время. Основа скрипта http://pccar.ru/showpost.php?p=344768&postcount=216
А это что я пытался сделать.
Код:

#NoTrayIcon
#RequireAdmin
#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
        $winList = WinList("[CLASS:TFormMain]")
        If ($winList[0][0] = 1) Then
                $hwnd = $winList[1][1]
                WinSetTrans($hWnd, "", 0)
        EndIf
                Sleep(9000)
        $winList = WinList("[CLASS:TFormMain]")
        If ($winList[0][0] = 1) Then
                $hwnd = $winList[1][1]
                WinSetTrans($hWnd, "", 255)
        EndIf

Если скрип запустить без Икара все работает.
Запускаю скрипт и Икар вместе, окно OBDmain остается неизменным.

Lexx09 19.08.2016 19:42

Навскидку...
Возможно, окно плагина OBDMain имеет такой-же класс, как и окно iCarDS - "TFormMain". В скрипте идет обращение к первому найденному окну с таким классом. Если iCarDS запущен, то его окно первое, а OBDMain - второе. Надо отслеживать кол-во найденных окон, если их два - то обращаться ко второму.
Как-то так:
PHP код:

#NoTrayIcon
#RequireAdmin

#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>
#include <Process.au3>

$winList WinList("[CLASS:TFormMain]")
If (
$winList[0][0] = 2Then
    $hwnd 
$winList[2][1]
    
WinSetTrans($hwnd""0)
EndIf
Sleep(9000)
$winList WinList("[CLASS:TFormMain]")
If (
$winList[0][0] = 2Then
    $hwnd 
$winList[2][1]
    
WinSetTrans($hwnd""255)
EndIf 


Евген_21 19.08.2016 20:25

Цитата:

Сообщение от Lexx09 (Сообщение 367434)
Навскидку...
Возможно, окно плагина OBDMain имеет такой-же класс, как и окно iCarDS - "TFormMain". В скрипте идет обращение к первому найденному окну с таким классом. Если iCarDS запущен, то его окно первое, а OBDMain - второе. Надо отслеживать кол-во найденных окон, если их два - то обращаться ко второму.
Как-то так:
PHP код:

#NoTrayIcon
#RequireAdmin

#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>
#include <Process.au3>

$winList WinList("[CLASS:TFormMain]")
If (
$winList[0][0] = 2Then
    $hwnd 
$winList[2][1]
    
WinSetTrans($hwnd""0)
EndIf
Sleep(9000)
$winList WinList("[CLASS:TFormMain]")
If (
$winList[0][0] = 2Then
    $hwnd 
$winList[2][1]
    
WinSetTrans($hwnd""255)
EndIf 


С таким кодом получилось, но на секунду все равно окно появляется, но уже не 3.

Код HTML:

#NoTrayIcon
#RequireAdmin

#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>
#include <Process.au3>

; Ожидание 15 секунд до появление окна OBDmain
$hWnd = WinWait("[CLASS:TFormMain]", "", 15)

; Устанавливает прозрачность окна OBDmain - 0.
WinSetTrans($hWnd, "", 0)

; Время прозрачность окна.
Sleep(15000)

; Устанавливает прозрачность окна OBDmain - 255.
WinSetTrans($hWnd, "", 255)

Как сделать чтоб сразу сделать окно прозрачным (чтоб даже доли секунды не было)

Lexx09 19.08.2016 20:32

Цитата:

Сообщение от Евген_21 (Сообщение 367440)
Как сделать чтоб сразу сделать окно прозрачным (чтоб даже доли секунды не было)

Попробовать скриптом запускать плагин с невидимым окном:
PHP код:

Run "program" [, "workingdir" [, show_flag [, opt_flag]]] )

show_flag [optionalThe "show" flag of the executed program:
    @
SW_HIDE Hidden window (or Default keyword

Потом этим же скриптом делать видимым.

Евген_21 29.08.2016 19:06

Может кому то и пригодиться.
http://ab57.ru/cmdlist/powercfg.html
А, это всем кто пользуется сном......Чтобы просмотреть список всех устройств, которые
могут пробудить компьютер
Пуск-Поиск-cmd. Запуск от имени Администратор.
Команда:Powercfg -devicequery wake_armed

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

seriousstas 06.09.2016 13:36

Евген_21
Привет !
Почему просто не перезапустить Фубар ?

Krysanov 06.09.2016 18:26

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

seriousstas 06.09.2016 19:19

Цитата:

Сообщение от Krysanov (Сообщение 368625)
было бы неплохо кодерам глянуть в эту сторону и исправить.. чем придумывать костыли, имхо

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

Krysanov 21.09.2016 09:25

Цитата:

Сообщение от seriousstas (Сообщение 368566)
Евген_21
Привет !
Почему просто не перезапустить Фубар ?

По ссылке перезапускается ИКАР.. а как сделать перезапуск только фубара?

shumaz 23.09.2016 23:06

По просьбе Стаса пишу сюда свою ситуацию (для удобства общения):

У меня такой вопрос: стоит приблуда называется Ga-Net (оф. сайт кому интересно ). брагодаря ей работают (програмируются) почти все кнопки штатного ГУ для работы в CarPC. вот только на днях понял, что после выхода из сна (любого) не совсем корректно работает софт от этой приблуды (часть кнопок "мёртвые"). надо перезапускать его.

Путь такой: C:\Program Files\GA-Net+USB_Ctrl\GaNetCtrlBPL.exe

помогите пожалуйста, как прописать перезапуск этого .exe (либо можно убивать до сна и запуска после). из моментов которые могут всплыть: если жмёшь закрыть, там есть Pop-Up окошло с предупреждением о закрытии и обратным таймингом в 10 сек, после которого закрывается автоматически (если ни чего не делать).

Update:
по совету Стаса, взял за основу код выложеный в первом сообщении и поправил пути на свои вот что вышло:
PHP код:

#NoTrayIcon
#RequireAdmin
#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>
#include<Process.au3>
Это команда на сон
Global $PBT_APMSUSPEND 0x0004
Global $PBT_APMRESUMESUSPEND 0x0007

$hGUI 
GUICreate("Restart"10010011)
GUIRegisterMsg($WM_POWERBROADCAST"Standby")

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

Вход в спящий режим
Func Suspend
()
WinClose("GANETCTRLBPL.EXE")
EndFunc

Выход из спящего режима
Func ResumeSuspend
()
       If (
ProcessWaitClose("GANETCTRLBPL.EXE"5) == 0Then
       ProcessClose
("GANETCTRLBPL.EXE")
       EndIf
Sleep(3000)
    ; 
Запускаем GANETCTRLBPL :
    
ShellExecute("c:\Program Files\GA-Net+USB_Ctrl\GaNetCtrlBPL.exe")
EndFunc 

скомпилировав в EXE пробую запустить... после запуска на 2-3 секунды появляются 3 процесса:
dllhost.exe
consent.exe
ReStart GaNet.exe *32

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

добавил в планировщик заданий как простую задачу...жму запустить, статус задачи меняется на "работает" и получаю ошибки (скрины прилагаю ниже). Как бы виснет весь планировщик задач.
http://savepic.ru/11502532.jpg

http://savepic.ru/11490244.jpg

seriousstas 23.09.2016 23:56

Добавь цикл :
Код:

While 1
    Sleep(100)
WEnd

Поправил примеры - сори пропустил ..
Теперь будет висеть в процессах .
Планировщик
или добавь в обычную автозагрузку

seriousstas 23.09.2016 23:59

Цитата:

Сообщение от Krysanov (Сообщение 369761)
По ссылке перезапускается ИКАР.. а как сделать перезапуск только фубара?

Там два скрипта - первый для Фубара

shumaz 24.09.2016 00:07

Цитата:

Сообщение от seriousstas (Сообщение 369948)
Добавь цикл :
Код:

While 1
    Sleep(100)
WEnd

Поправил примеры - сори пропустил ..
Теперь будет висеть в процессах .
Планировщик
или добавь в обычную автозагрузку

СпасибО!
поставил. вроде теперь 1 процесс (ReStart GaNet.exe) остаётся висеть. буду завтра тестить в машине.

вопрос еще общий:
на сколько я понял, в скрипте SUSPEND.exe заложен перезапуск и foobar и iCarDs и т.д.?
тоисть, если пользуемся SUSPEND.exe, то НЕ нужно использовать отдельные скрипты "Перезапуск foobar2000" и "Перезапуск iCarDs" ну и наоборот (если функционал заложен в SUSPEND.exe не нужен, то стоит использовать только перезапуск нужных прог).
Верно?

seriousstas 24.09.2016 17:11

Цитата:

Сообщение от shumaz (Сообщение 369950)
СпасибО!
поставил. вроде теперь 1 процесс (ReStart GaNet.exe) остаётся висеть. буду завтра тестить в машине.

вопрос еще общий:
на сколько я понял, в скрипте SUSPEND.exe заложен перезапуск и foobar и iCarDs и т.д.?
тоисть, если пользуемся SUSPEND.exe, то НЕ нужно использовать отдельные скрипты "Перезапуск foobar2000" и "Перезапуск iCarDs" ну и наоборот (если функционал заложен в SUSPEND.exe не нужен, то стоит использовать только перезапуск нужных прог).
Верно?

Можешь пихать в скрипт что пожелаешь и называть его , как угодно . Не нужно плодить скрипты ..
Обрати внимание на
; Перезапуск служб BlueSoleil при обычном старте
Здесь рядом можешь добавить старт любых прог втч и самого Икара.
Это будет обычный запуск не зависящий от сна .
То-есть запустил скрипт , а он уже сам всё делает .. Сунь только в автозагрузку.

Krysanov 24.09.2016 21:16

Цитата:

Сообщение от seriousstas (Сообщение 369949)
Там два скрипта - первый для Фубара

Ага, спасибо! Не по глазам видно было сразу:big::yes2:

shumaz 25.09.2016 01:52

Цитата:

Сообщение от seriousstas (Сообщение 369990)
Можешь пихать в скрипт что пожелаешь и называть его , как угодно . Не нужно плодить скрипты ..
Обрати внимание на
; Перезапуск служб BlueSoleil при обычном старте
Здесь рядом можешь добавить старт любых прог втч и самого Икара.
Это будет обычный запуск не зависящий от сна .
То-есть запустил скрипт , а он уже сам всё делает .. Сунь только в автозагрузку.

Сегодня поковырялся, подогнал паузы, вроде всё работает.

Спасибо Стас!

P.S. надеюсь скоро доберёшься до этого => ништяка:blush:

seriousstas 25.09.2016 02:30

Цитата:

Сообщение от shumaz (Сообщение 370057)
Сегодня поковырялся, подогнал паузы, вроде всё работает.

Спасибо Стас!

P.S. надеюсь скоро доберёшься до этого => ништяка:blush:

Ок - вначале сборку доделаю ...

Krysanov 27.09.2016 18:16

Цитата:

Сообщение от seriousstas (Сообщение 369949)
Там два скрипта - первый для Фубара

Стас, создал скрипт, подправив только путь к фубару.. запустил.. фубар работает, но криво:
1. Фубар получается залазит на ИКАР, те не чисто встроен в ИКАР ..
2. Эффект дня сурка.. песня начинается всегда одна и та же с начала...
Что то я не понял, где может быть ошибка...

seriousstas 28.09.2016 03:19

Цитата:

Сообщение от Krysanov (Сообщение 370221)
Стас, создал скрипт, подправив только путь к фубару.. запустил.. фубар работает, но криво:
1. Фубар получается залазит на ИКАР, те не чисто встроен в ИКАР ..
2. Эффект дня сурка.. песня начинается всегда одна и та же с начала...
Что то я не понял, где может быть ошибка...

Скрипт для перезапуска Фубара без Икара . Попробуй включи в Икаре циклический перехват окна, а не только при запуске ..
Для корректной работы - перезапускай Икар скриптом а не Фубар .
По второму(странно) - не должно быть - мы закрываем фубар, как кнопкой закрытия окна .
Ещё - подожди новую сборку - там много изменений .

Krysanov 28.09.2016 04:04

Хорошо

Krysanov 08.10.2016 19:28

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

mendisabal 26.10.2016 10:30

Привет seriousstas , все никак не соберусь сделать свою идеальную систему , начал , дали срочно делать ресторан , в перерывах поставил винду , только сделал ресторан , дали второй ... труба короче .
Помоги пожалуйста сделать скрипт на AHK , что бы перед сном закрывался gpsgate , а после просыпания заново загружался .
Планы у меня барбаросса , но времени катострофически нет , пока надо сделать спящую навигашку , а потом уже не спеша все остальное (неизвестно когда ) .

mendisabal 28.10.2016 10:19

вот тема по этому вопросу https://autohotkey.com/boards/viewtopic.php?t=14543
пробовал примеры из нее , работают в вин 10 , но переделать под конкретную задачу ума не хватает , вечером выложу че пытался сделать (если вдруг не нажрусь ) .

seriousstas 28.10.2016 16:58

Цитата:

Сообщение от mendisabal (Сообщение 372813)
вот тема по этому вопросу https://autohotkey.com/boards/viewtopic.php?t=14543
пробовал примеры из нее , работают в вин 10 , но переделать под конкретную задачу ума не хватает , вечером выложу че пытался сделать (если вдруг не нажрусь ) .

Все-же предлагаю использовать готовые Autoit скрипты (примеры в шапке).
Все работает , как часы долгое время.
Меняешь пути к программам на свои (после ; расписал подробнее , что к чему на примере Икара ) . Играешься с паузами . Всё .

Нужно изменить парочку команд :
1 . Вход (закрываем ,как крестиком) :
WinClose("foobar2000")
или
ProcessClose("foobar2000.exe")
если нужно убить принудительно, не желательно .

2.Выход :
пауза - Sleep(1000) это одна секунда (ставь , сколько нужно)
ShellExecute("C:\Program Files (x86)\TipTop software\iCar DS\iCarDS.exe")

У
Krysanov
shumaz

получилось и у Тебя должно ! :)

mendisabal 28.10.2016 17:02

Мне как то давали этот аутоуит и компилятор ... пока разберусь сдурею , кинь ссылкой пожалуйста ,или на мыло ник@bk.ru
В корне с тобой не согласен , нет желания использовать несколько разных скриптов , и изучать автоуит тоже , так что я буду до посинения ковырять ahk , пока не заработает , не против если тут изложу свои муки ?

seriousstas 28.10.2016 17:35

У duzzy "нервный тик" от AHK скриптов, но каждый тут выбирает сам .
С одной стороны AHK - это тот - же Autoit и делался на основе него - но с неким упрощением . А с другой стороны у второго , говорят больше возможностей :)
Цитата:

Мне как то давали этот аутоуит и компилятор ... пока разберусь сдурею
Да что там разбираться ? Есть готовый скрипт - меняешь пути, примерно :

WinClose("gpsgate")
;закрыть

ShellExecute("C:\Program Files (x86)\gpsgate\gpsgate.exe")
;запустить


Скрипт обзываешь скажем: restartgpsgate.au3
Далее так-же , как и в AHK, ставишь Autoit Правый клик на файле (скрипте) -> Compile script
Вот и вся компиляция .. Всё точно также , как в AHK , только в командах больше скобок , кавычек :)

WinClose, Calculator
и
WinClose ("Calculator")
Вся разница ;)

mendisabal 28.10.2016 20:58

да понял понял я , спасибо )

mendisabal 05.11.2016 19:46

Заработало , спасибо огромное , потом с ахк разберемся:wink2:
Не могу понять как правильно запускать devcon в au3 :
Цитата:

Сообщение от Lexx09 (Сообщение 353156)
seriousstas, вариантов много:[LIST=1][*]С помощью devcon:
devcon enable/disable

какой должен быть синтаксис ? (вин 10 , мб его и поставить надо)
Код:

ShellExecute("devcon disable <12345>")
не прокатывает .

mendisabal 06.11.2016 18:15

Вложений: 1
Радость моя была совсем не долгой , да gpsgate закрывается любыми из нижеперечисленых способов :
(если знаете еше способы закрыть приложение поделитесь пожалуйста)
Код:

ShellExecute("C:\Program Files (x86)\Franson\GpsGate 2.0\GpsGateXP.exe", "-exit")

WinClose("Franson GpsGate")

ProcessClose("GpsGateXP.exe")

НО gpsbridge сам не коннектится заного после запуска GpsGate , а вот если его тупо закрыть из трея :
Вложение 45423
то gpsbridge выдает ошибку ,дескать там данных нет , и как только запускается заного GpsGate тут же хватает его и работает .
Я думаю эта информация будет всем полезна , ибо можно будет не грузить заного икар , мему , gpsbridge ,навигатор и прочее , что и так само не плохо спит , можно перед сном правильно остановить только GpsGate , и его жапустить после сна , а остальное тупо не трогать , по моему круто , судя по прочитанному выше вы очено много закрываете и открываете , терея время ни использовании режима сон .
Ну и я такой воодушевленый пошел разбираться как в Autouit работать с треем :be: мать моя ... TrayItemSetOnEvent , TrayItemSetState (понял что не то ) , WinSetState ....:be::be::be::be::be::be::be::be: блин , понял не тяну я , пол дня сегодня убил , ну не прет оно никак , нужно всего то Exit нажать на иконке в трее как на скрине выше . Если кто поможет - расцелую :blush:
А так буду пока думать как рабочий скрипт сделать на ahk , (там то я умею треем управлять )

2м заходом пытался через adb.exe рубить gpsbridge :
Код:

#RequireAdmin
#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
$adb_path="C:\Program Files\Microvirt\MEmu\adb.exe";
; Это команда на сон
Global $PBT_APMSUSPEND = 0x0004
Global $PBT_APMRESUMESUSPEND = 0x0007

$hGUI = GUICreate("Restart", 100, 100, 1, 1)
GUIRegisterMsg($WM_POWERBROADCAST, "Standby")
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()
  ShellExecute($adb_path, "shell am force-stop com.rbc.gpsbridge");

EndFunc

; Выход из спящего режима(пишем задачи, что запускаем)
Func ResumeSuspend()

Sleep(15000)

ShellExecute($adb_path, "shell am start -n com.rbc.gpsbridge/com.rbc.gpsbridge.MainActivity");


EndFunc

нашел его в папке мему C:\Program Files\Microvirt\MEmu\adb.exe , его процесс висит в диспетчере, но gpsbridge не убивает и не стартует не знаю у Lexx09 все работало я правда не ставил его , он типо "был" ,потом скачал и распаковал в c:\ADB , анологично , никаких действий в эмуляторе memu с gpsbridge не происходит (

Lexx09 06.11.2016 23:39

Цитата:

Сообщение от mendisabal (Сообщение 373532)
Не могу понять как правильно запускать devcon в au3 :

какой должен быть синтаксис ? (вин 10 , мб его и поставить надо)
Код:

ShellExecute("devcon disable <12345>")
не прокатывает .

Так:
PHP код:

ShellExecute("devcon.exe""enable/disable <hardware id>"

или так:
PHP код:

Run("devcon.exe enable/disable <hardware id>"

В базовой поставке Windows нет devcon. Скачай свой вариант (x86 или x64), переименуй его в devcon.exe, положи в папку со скриптом.

Lexx09 07.11.2016 00:22

Цитата:

Сообщение от mendisabal (Сообщение 373590)
никаких действий в эмуляторе memu с gpsbridge не происходит (

Этот Autoit-код прекрасно убивает и через 5 сек запускает GPSBridge в MEmu:
PHP код:

$adb_path "C:\Program Files\Microvirt\MEmu\adb.exe"
ShellExecute($adb_path"shell am force-stop com.rbc.gpsbridge")
Sleep(5000)
ShellExecute($adb_path"shell am start -n com.rbc.gpsbridge/com.rbc.gpsbridge.MainActivity"


mendisabal 07.11.2016 12:53

оу , спасибо тебе огромное , вечером буду пробовать .

mendisabal 08.11.2016 23:30

Да блин, все рабоатет с adb.exe ,да оно и раньше рабатало , только когда мему запущен с 0ля! , стоит меме чуть заснуть - все ,кинець , на adb команды оно не реагирует зараза ... долго её с 0ля грузить , смысл управления по adb пропадает (в моем случае) , буду учиться кнопки в трее жать :berry:
p\s пробовал останавливать\запускать процесс adb.exe , приоритеты раздавать , все от админа и с полным доступом на изменение - хрен ,это мему такая .

Lexx09 09.11.2016 22:06

Цитата:

Сообщение от mendisabal (Сообщение 373590)
Радость моя была совсем не долгой , да gpsgate закрывается любыми из нижеперечисленых способов :
(если знаете еше способы закрыть приложение поделитесь пожалуйста)
Код:

ShellExecute("C:\Program Files (x86)\Franson\GpsGate 2.0\GpsGateXP.exe", "-exit")

WinClose("Franson GpsGate")

ProcessClose("GpsGateXP.exe")

НО gpsbridge сам не коннектится заного после запуска GpsGate , а вот если его тупо закрыть из трея :
Вложение 45423
то gpsbridge выдает ошибку ,дескать там данных нет , и как только запускается заного GpsGate тут же хватает его и работает .

Проверил.

После закрытия GPSGate этой командой:
PHP код:

ShellExecute("C:\Program Files (x86)\Franson\GpsGate 2.0\GpsGateXP.exe""-exit"

и последующего его запуска - GPSBridge подхватывает координаты. Только надо подождать, максимум до 10 секунд.

Эта команда указана в документации API к GPSGate.

mendisabal 09.11.2016 22:17

Цитата:

Сообщение от Lexx09 (Сообщение 373928)
Проверил.

После закрытия GPSGate этой командой:
PHP код:

ShellExecute("C:\Program Files (x86)\Franson\GpsGate 2.0\GpsGateXP.exe""-exit"

и последующего его запуска - GPSBridge подхватывает координаты. Только надо подождать, максимум до 10 секунд.
Эта команда указана в документации API к GPSGate.

эсли не спать , то да , а вот если выгрузить строчкой выше gpsgate ,войти в сон , выйти из сна , потом загрузить ShellExecute("C:\Program Files (x86)\Franson\GpsGate 2.0\GpsGateXP.exe") по новой - gpsbridge не оживает (он тупо зависает после жесткого выхода из gpsgate ,ошибками не сыпет ,дескать данных в компорту нет ),а именно такой алгоритм в итоге и хочется получить , оживал брайд если только кнопкой в трее выходить , как выше писал ,но я еще раз тоже проверю , буду признателен за твой тестовый код , что значит максимум до 10 сек ? я 5 по моему попробовал и успокоился . Я правда только в 32 бит компилировал ... помоему все равно что винда 64 .

Евген_21 07.12.2016 17:10

Стас , видос можно как уходит комп в сон? По времени сколько?

seriousstas 08.12.2016 05:40

Цитата:

Сообщение от Евген_21 (Сообщение 376761)
Стас , видос можно как уходит комп в сон? По времени сколько?

Икар перезагружается, хоть это сразу и не поймешь .
На видео два режима : Сон и Гибернация :

Пока в шапке обновил основной (следящий скрипт) скрипт.
Запускать его можна и используя этот метод :

через тот-же скрипт-подмену
добавив туда строчки для запуска :
Код:

If (Not ProcessExists("SUSPEND.exe")) Then
ShellExecute("d:\Install\FRONTEND\ICar\SUSPEND\SUSPEND.exe")
EndIf



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

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