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)

Игорь_К 27.08.2015 11:50

Цитата:

Сообщение от Krysanov (Сообщение 336546)
а как задержку выставить?

Так вот из 1 поста
2.В планировщике вход по событию Win 8.1
Журнал: Система
Источник: Power-Troubleshooter
Код события: 1
+ галочку “Выполнить с наивысшими правами”.
Запускаю такой (AHK) *.exe :
Код:
#NoTrayIcon
Run, taskkill /im BlueSoleilCS.exe /f, , Hide
Run, C:\Program Files (x86)\IVT Corporation\BlueSoleil\BtTray.exe
Sleep, 2200
Run, C:\Program Files (x86)\TipTop software\iCar DS\iCarDS.exe

Параметр Sleep, 2200 - это задержка в 2.2 сек...я поставил 4000 - это 4 сек

seriousstas 27.08.2015 12:30

Цитата:

Сообщение от Krysanov (Сообщение 336546)
а как задержку выставить?

? какую задержку ...:blink2: Нужно ведь просто закрыть Икар и остальное при входе в Сон .
Типа:
taskkill /IM iCarDS.exe
taskkill /IM Franson GpsGate
taskkill /IM HD-Agent
Далее запускай при выходе , всё ,что нужно.
Есть три способа запуска :
1 Скриптом Lexx09 , который просто добавь в автозагрузку .
2 Через планировщик по событию задав прямые пути к программам
3 Через планировщик по событию задав путь к скрипту AHK , где и задать задержку , если необходимо .

Цитата:

Сообщение от sirota (Сообщение 336467)
Ну тогда зачем тебе эти пляски увеличение времени .....корректно выключай комп и тогда этих траблов со сном не будет.
Вот смотри.... от подачи питание на комп(монитор загорелся)...через 7-8 сек играет икар, стартует видео регистрация, навигация ...и.т.д.

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

sirota
Какая у Тебя мать если не секрет конечно и возможно используешь https://downloadcenter.intel.com/dow...art-Technology
?
Если это на видео, обычная загрузка (то-есть не сон и не гибернация), то когда происходит опрос подключённого железа в биосе ?
Ну и что за винда у Тебя , тоже интересно :)

sirota 27.08.2015 13:23

Цитата:

Сообщение от seriousstas (Сообщение 336566)
Какая у Тебя мать и возможно используешь https://downloadcenter.intel.com/dow...art-Technology
?
Если это на видео, обычная загрузка (то-есть не сон и не гибернация), то когда происходит опрос подключённого железа в биосе ?
Ну и что за винда у Тебя , тоже интересно :)

Мать обычная asrock h77m-itx.
Загрузка обычная(не сон, не гибер).

Цитата:

то когда происходит опрос подключённого железа в биосе ?
Я не знаю когда :no:...установлено все по дефолту, никаких спец. настроек в биосе не проводил(все по умолчанию)
Винда 8.1х64... сборка(не урезанная).

Вот так просыпается из сна.
На видео, почему то долго выключается...на самом деле сейчас...после выкл зажигание, выключение происходит за пару сек.


seriousstas 27.08.2015 13:27

Цитата:

Сообщение от sirota (Сообщение 336570)
Мать обычная asrock h77m-itx.
Загрузка обычная.


Я не знаю когда :no:...установлено все по дефолту, никаких спец. настроек в биосе не проводил(все по умолчанию)
Винда 8.1х64... сборка(не урезанная).

Понятно , волшебником выступает этот чипсет :
http://www.intel.com/content/www/us/...ipset-h77.html

Цитата:

сборка(не урезанная)
А это как ? Смысл всех сборок , что-то откусить , перенастроить ведь ... Есть название у этого "зверя" ?

sirota 27.08.2015 13:39

Цитата:

Сообщение от seriousstas (Сообщение 336571)
Понятно , волшебником выступает этот чипсет :
http://www.intel.com/content/www/us/...ipset-h77.html


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

То есть этот чипсет как то влияет на загрузку и опрос оборудования так?

Ну как я понял...берется оригинальный образ винды...добавляют кодаки, шмодаки...в общем, то чем мне бы пришлось делать если бы я устанавливал лицензию.

Цитата:

Есть название у этого "зверя"
Ща уже и не вспомню(года 2 прошло как стоит)....по мне они все одинаковые...в одном защитник удален, в другом он присутствует....и так все это крутится вокруг одного и того же образа.

Вот подобное, что пишут

Цитата:

Описание:
Данная сборка от kiryandrsoft сделана на основе оригинального образа:
ru_windows_8.1_pro_vl_with_update_x86_dvd_6050937

В сборке никаких патчей не применялось. Установлены все важные обновления на 21.08.2015. Включен NET Framework 3.5.На рабочем столе присутствует папка Bonus c активатором Microsoft Toolkit 2.5.3 Stable , Classic Shell 4.2.4 Final , а так же Твики ПКМ . Очищена папка Backup . Для экономии места файл wim сжат в esd формат. Установка только с BIOSa !!!

seriousstas 27.08.2015 13:44

Цитата:

То есть этот чипсет как то влияет на загрузку и опрос оборудования так?
В первую очередь используется "на полную" все прелести SSD :
Цитата:

system boot time and application load time when used in conjunction with an Intel® SSD
А автозагрузка у Тебя через планировщик и стандартно ?

sirota 27.08.2015 13:53

Цитата:

Сообщение от seriousstas (Сообщение 336574)
В первую очередь используется "на полную" все прелести SSD :

А автозагрузка у Тебя через планировщик и стандартно ?

На видео, икар грузился через планировщик...сейчас икар грузится установкой галки в конфиге...из за чего с начало появляется рабочий стол и через пару секунд загружается икар.

А так грузилась 7-ка с появлением бивиса, еще со старым монитором.


seriousstas 27.08.2015 14:43

sirota
Цитата:

сделана на основе оригинального образа
Я почему спросил - на Твоём видео нет ни логотипа биоса ни ни логотипа загрузки 8-ки
и это больше похоже на выход их сна (гибернации) , чем обычная загрузка )
Если не сложно , сделай плиз видяху , с простой перезагрузкой (например кнопкой Икара)
при возможности ...

Krysanov 27.08.2015 16:41

Цитата:

Сообщение от seriousstas (Сообщение 336563)
? какую задержку ...:blink2: Нужно ведь просто закрыть Икар и остальное при входе в Сон .
Типа:
taskkill /IM iCarDS.exe
taskkill /IM Franson GpsGate
taskkill /IM HD-Agent

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

(AHK) *.exe :
Код:
#NoTrayIcon
Sleep, 3500
Run, C:\Program Files (x86)\TipTop software\iCar DS\iCarDS.exe

Lexx09 27.08.2015 17:14

Я думаю, происходит так.

В варианте от seriousstas Windows не дожидается завершения работы ahk-скрипта. В результате засыпание Windows и закрытие iCarDS происходит параллельно. Windows засыпает быстрее, чем закрывается iCarDS. И при просыпании iCarDS все еще продолжает завершаться.

В моем варианте Windows будет ждать завершения работы скрипта, в котором можно прописать хоть полчаса на ожидание завершения iCarDS. И только после возврата из скрипта Windows продолжит уход в сон.

Резюме - используй этот скрипт для закрытия программ при входе в сон, добавив задержку в конце функции Suspend:
Код:

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

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

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

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

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

    Sleep(2000)

EndFunc


Lexx09 27.08.2015 17:18

Кстати, вместо задержки можно добавить проверку на наличие процесса iCarDS.exe и других...

Krysanov 27.08.2015 19:38

Вложений: 1
привет, LEXX09!
Своими вот как у меня сейчас работает (убрал пока блюстак, инет программу) твой скрипт, добавив Sleep(2000)


Код:

#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")

 ; Запускаем 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")

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

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

        ;Закрываем Блюстак
        ; ShellExecute("C:\Program Files (x86)\BlueStacks\HD-Quit.exe")
    Sleep(2000)
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

Вложение 40895

seriousstas 27.08.2015 19:39

Lexx09
Цитата:

Windows засыпает быстрее, чем закрывается iCarDS
Думаю так и есть . У меня этот фокус получается , тк Икар не загружен программами ...
Ты мог-бы показать вариант(с ф-ей Suspend, для меня AutoIt почти тёмный лес ) с закрытием через Икар ,
то-есть , что-бы после отработки скрипта он закрывался , а запускать
всё-таки через планировщик . Маленький пример на одном Икаре ?
Цитата:

вместо задержки можно добавить проверку на наличие процесса iCarDS.exe
Ну и это прикрути тогда заодно :)

sirota 27.08.2015 20:05

Цитата:

Сообщение от seriousstas (Сообщение 336588)
sirota

Я почему спросил - на Твоём видео нет ни логотипа биоса ни ни логотипа загрузки 8-ки
и это больше похоже на выход их сна (гибернации) , чем обычная загрузка )
Если не сложно , сделай плиз видяху , с простой перезагрузкой (например кнопкой Икара)
при возможности ...


seriousstas 27.08.2015 20:23

Цитата:

Сообщение от sirota (Сообщение 336628)

Автор ограничил доступ :)

Krysanov 27.08.2015 20:29

Пока в посте выкладывал выше код, нашел кучу ошибок.. вроде все исправил... попробовал на дом ноуте, все ок... Надо в машине пробовать, а она уже в гараже:wacko2:...

sirota 27.08.2015 20:33

Цитата:

Сообщение от seriousstas (Сообщение 336634)
Автор ограничил доступ :)

Починил :bye:

Krysanov 27.08.2015 20:40

Цитата:

Сообщение от Lexx09 (Сообщение 336603)
Кстати, вместо задержки можно добавить проверку на наличие процесса iCarDS.exe и других...

и как это можно использовать? Не понял? Вот скрипт обнаруживает наличие процесса, например, iCarDS.exe и что дальше? Надо его закрывать .. Если процесс отсутствует, то скрипт выполняет следующую функцию:whistle:
Lexx09, покажи плиз, как будет выглядеть эта часть кода, .. есть интерес ...
ПС. Вопрос про БРИДЖ остается открытым..сорри за навязчивость:wink2:

Lexx09 27.08.2015 22:20

Цитата:

Сообщение от Krysanov (Сообщение 336641)
и как это можно использовать? Не понял? Вот скрипт обнаруживает наличие процесса, например, iCarDS.exe и что дальше? Надо его закрывать .. Если процесс отсутствует, то скрипт выполняет следующую функцию:whistle:

Смысл слежения за процессом iCarDS.exe вот в чем:
  • Если в течение заданного определенного времени, например, 3 сек, после выполнения команды WinClose("iCar DS") процесс iCarDS.exe все еще висит в памяти, то он принудительно завершается. Т.е. если iCarDS заглючил и подвис при закрытии, он будет принудительно убит, и только потом Windows уснет.
  • Если же iCarDS закрылся быстрее 3 сек, то скрипт сразу же начинает выполняться дальше, а не ждет истечения 3 сек. В результате - более быстрое наступление сна. :smile2:
Функция Suspend будет такая:
Код:

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

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

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

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

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

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

EndFunc

Цифра 3 в команде ProcessWaitClose - это и есть количество секунд ожидания завершения iCarDS до принудительного убития. В принципе, можно и 10 сек поставить, все равно такая пауза будет только тогда, когда iCarDS зависнет.

В варианте просто с паузой скрипт по любому будет ждать 3 сек, даже, если iCarDS закрылся за 1 сек. А если iCarDS заглючил, то при выходе из сна глюки продолжатся.

Lexx09 27.08.2015 23:21

Цитата:

Сообщение от seriousstas (Сообщение 336623)
Lexx09
Ты мог-бы показать вариант(с ф-ей Suspend, для меня AutoIt почти тёмный лес ) с закрытием через Икар ,
то-есть , что-бы после отработки скрипта он закрывался , а запускать
всё-таки через планировщик . Маленький пример на одном Икаре ?

Если я правильно понял, ты хочешь закрывать сам iCarDS из скрипта, который встроен в iCarDS, и который срабатывает при входе в сон? Если да, то:
  1. Закрывать родительский процесс (iCarDS.exe) из дочернего (ahk- или autoit-скрипт) не совсем неправильно. Ведь неизвестно, что там еще iCarDS будет делать после запуска встроенного скрипта. Хотя с ahk-скриптом вроде работает...
  2. Функция Suspend срабатывает в тот момент, когда Windows перед сном рассылает специальное сообщение (PBT_APMSUSPEND) всем процессам в системе. Как реализована обработка этого сообщения в iCarDS - неизвестно. Разработчик практически не участвует в наших дискуссиях.
Для экспериментов - вот код всего скрипта для встраивания в iCarDS:
Код:

WinClose("iCar DS")

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


seriousstas 28.08.2015 02:50

Цитата:

Сообщение от Lexx09 (Сообщение 336659)
Если я правильно понял, ты хочешь закрывать сам iCarDS из скрипта, который встроен в iCarDS, и который срабатывает при входе в сон? Если да, то:
  1. Закрывать родительский процесс (iCarDS.exe) из дочернего (ahk- или autoit-скрипт) не совсем неправильно. Ведь неизвестно, что там еще iCarDS будет делать после запуска встроенного скрипта. Хотя с ahk-скриптом вроде работает...
  2. Функция Suspend срабатывает в тот момент, когда Windows перед сном рассылает специальное сообщение (PBT_APMSUSPEND) всем процессам в системе. Как реализована обработка этого сообщения в iCarDS - неизвестно. Разработчик практически не участвует в наших дискуссиях.
Для экспериментов - вот код всего скрипта для встраивания в iCarDS:
Код:

WinClose("iCar DS")

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


iCar DS гарантированно запускает скрипт при входе в сон , но
вопрос успеет-ли скрипт закрыть загруженный окнами Икар ,
поэтому и спросил за SUSPEND . Представляю это так :
по нажатию кнопки или повороте ключа Икар запускает скрипт
и посылается небольшая задержка системе для корректной выгрузки Икара .
Попробовал скрипт выше - работает ! :) Но опять-же у меня нет ни тяжелого Икара ни слабого железа для экспериментов , поэтому спрошу , можно-ли в этот скрипт добавить задержку системе в 2 секунды перед полным отключением питания ?

seriousstas 28.08.2015 04:16

sirota
Спасибо большое! Теперь есть примерная картинка работы Твоей системы ,
будет полезно тем, кто задумал апгрейд .

Krysanov 28.08.2015 05:07

Цитата:

Сообщение от Lexx09 (Сообщение 336653)
Смысл слежения за процессом iCarDS.exe вот в чем:
  • Если в течение заданного определенного времени, например, 3 сек, после выполнения команды WinClose("iCar DS") процесс iCarDS.exe все еще висит в памяти, то он принудительно завершается. Т.е. если iCarDS заглючил и подвис при закрытии, он будет принудительно убит, и только потом Windows уснет.
  • Если же iCarDS закрылся быстрее 3 сек, то скрипт сразу же начинает выполняться дальше, а не ждет истечения 3 сек. В результате - более быстрое наступление сна. :smile2:
Функция Suspend будет такая:
Код:

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

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

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

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

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

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

EndFunc

Цифра 3 в команде ProcessWaitClose - это и есть количество секунд ожидания завершения iCarDS до принудительного убития. В принципе, можно и 10 сек поставить, все равно такая пауза будет только тогда, когда iCarDS зависнет.

В варианте просто с паузой скрипт по любому будет ждать 3 сек, даже, если iCarDS закрылся за 1 сек. А если iCarDS заглючил, то при выходе из сна глюки продолжатся.

О, спасибо, очень понятно и полезно

Krysanov 28.08.2015 06:40

Lexx09 :bye:
Есть, например, три чувствительные ко сну программы...."iCar DS", "SP Dialer.exe" и "Franson GpsGate"

Функция Suspend будет такая?:

Код:

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

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

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

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

 
    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("iCarDS.exe", 3) == 0) Then
        ProcessClose("Franson GpsGate")
    EndIf

EndFunc

или так ?

Код:

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

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

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

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

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

EndFunc


Игорь_К 28.08.2015 09:11

У меня почему то при конвертировании скрипта из au3 в exe выдает ошибку со строкой #include (win8.1 x32)

Krysanov 28.08.2015 10:58

Цитата:

Сообщение от Игорь_К (Сообщение 336676)
У меня почему то при конвертировании скрипта из au3 в exe выдает ошибку со строкой #include (win8.1 x32)

В самом верху кода написано для 64 бит
Код:

#pragma compile(Icon, "C:\Program Files (x86)\AutoIt3\Icons\au3script_v9.ico")
у тебя есть такая папка Program Files (x86)? Если нет (не помню уже:no:), то подправь верхнюю строчку на
Код:

#pragma compile(Icon, "C:\Program Files\AutoIt3\Icons\au3script_v9.ico")

Lexx09 28.08.2015 11:24

Цитата:

Сообщение от seriousstas (Сообщение 336664)
iCar DS гарантированно запускает скрипт при входе в сон , но
вопрос успеет-ли скрипт закрыть загруженный окнами Икар ,
поэтому и спросил за SUSPEND . Представляю это так :
по нажатию кнопки или повороте ключа Икар запускает скрипт
и посылается небольшая задержка системе для корректной выгрузки Икара .
Попробовал скрипт выше - работает ! :) Но опять-же у меня нет ни тяжелого Икара ни слабого железа для экспериментов , поэтому спрошу , можно-ли в этот скрипт добавить задержку системе в 2 секунды перед полным отключением питания ?

Добавление паузы в скрипт ничего не даст, т.к. iCarDS не ждет завершения работы встроенных скриптов. Только что проверил. К тому же iCarDS завершается из встроенного скрипта.

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

#include

Global $PBT_APMSUSPEND = 0x0004

$hGUI = GUICreate("StandbyWait", 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 Else
    EndSelect
EndFunc

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


Lexx09 28.08.2015 11:29

Цитата:

Сообщение от Krysanov (Сообщение 336669)
Lexx09 :bye:
Есть, например, три чувствительные ко сну программы...."iCar DS", "SP Dialer.exe" и "Franson GpsGate"

Функция Suspend будет такая?:

Код:

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

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

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

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

 
    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("iCarDS.exe", 3) == 0) Then
        ProcessClose("Franson GpsGate")
    EndIf

EndFunc

или так ?

Код:

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

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

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

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

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

EndFunc


Оба варианта неправильные.

Должно быть так:
Код:

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

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

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

    ; Закрываем GpsGate
    WinClose("Franson GpsGate")
 
    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("GpsGateXP.exe", 3) == 0) Then
        ProcessClose("GpsGateXP.exe")
    EndIf

EndFunc


Игорь_К 28.08.2015 11:30

Цитата:

Сообщение от Krysanov (Сообщение 336686)
В самом верху кода написано для 64 бит
Код:

#pragma compile(Icon, "C:\Program Files (x86)\AutoIt3\Icons\au3script_v9.ico")
у тебя есть такая папка Program Files (x86)? Если нет (не помню уже:no:), то подправь верхнюю строчку на
Код:

#pragma compile(Icon, "C:\Program Files\AutoIt3\Icons\au3script_v9.ico")

В том и загвоздка что все пути поправлены под мою систему

seriousstas 28.08.2015 11:36

Цитата:

Сообщение от Lexx09 (Сообщение 336689)
Добавление паузы в скрипт ничего не даст, т.к. iCarDS не ждет завершения работы встроенных скриптов. Только что проверил. К тому же iCarDS завершается из встроенного скрипта.

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

Ясно , так и думал , ещё думал, что можно где-то поправить реестр или распаковать iCarMainScript.exe(хотя с последними версиями это наверняка не возможно) и сунуть туда :)

Krysanov 28.08.2015 11:36

Цитата:

Сообщение от Lexx09 (Сообщение 336692)
...

спасибо, увидел свою ошибку!!

Krysanov 28.08.2015 11:40

Цитата:

Сообщение от Игорь_К (Сообщение 336693)
В том и загвоздка что все пути поправлены под мою систему

покажи весь код

Игорь_К 28.08.2015 12:00

#pragma compile(Icon, "C:\Program Files\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")

While 1
Sleep(100)
WEnd

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

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

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

EndFunc

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

Lexx09 28.08.2015 12:04

Цитата:

Сообщение от seriousstas (Сообщение 336694)
Ясно , так и думал , ещё думал, что можно где-то поправить реестр или распаковать iCarMainScript.exe(хотя с последними версиями это наверняка не возможно) и сунуть туда :)

В iCarMainScript нет ничего нам полезного, там какое-то управление громкостью...

Надо править исходники iCarDS, а они есть только у разработчика.

Lexx09 28.08.2015 12:06

Цитата:

Сообщение от Игорь_К (Сообщение 336676)
У меня почему то при конвертировании скрипта из au3 в exe выдает ошибку со строкой #include (win8.1 x32)

Текст ошибки покажи.

В папке C:\Program Files\AutoIt3\Include есть файл MsgBoxConstants.au3?

seriousstas 28.08.2015 12:22

Цитата:

В iCarMainScript нет ничего нам полезного, там какое-то управление громкостью...
Я понимаю , просто хотел минимизировать одновременно запущенные скрипты ,
а этот iCarMainScript уже итак висит в памяти и думаю можно просто в него
добавить
Цитата:

постоянно запущенная программа, отслеживающая переход в сон.
Или снова всё упирается в автозакрытие своих скриптов при закрытии Икара ?

Lexx09 28.08.2015 13:27

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

Сообщение от seriousstas (Сообщение 336704)
Я понимаю , просто хотел минимизировать одновременно запущенные скрипты ,
а этот iCarMainScript уже итак висит в памяти и думаю можно просто в него
добавить

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

Захочешь поэкспериментировать - исходник во вложении.

seriousstas 28.08.2015 13:34

Lexx09
Спасибо большое , попробую ...

Krysanov 28.08.2015 14:05

Все, парни, вроде работает, в машине попробовал ошибки икара нет как до 30 мин, так и после 30 мин... покатаюсь с недельку, посмотрю..
ПС...мониторю и мой "любимый" бридж.. не всегда подхватывает данные.. если не победю его закрытием блюстака перед уходом в сон, тогда из кода вообще уберу блюстак, он сам спит и просыпается нормально

Игорь_К 28.08.2015 14:17

Цитата:

Сообщение от Krysanov (Сообщение 336721)
Все, парни, вроде работает, в машине попробовал ошибки икара нет как до 30 мин, так и после 30 мин... покатаюсь с недельку, посмотрю..
ПС...мониторю и мой "любимый" бридж.. не всегда подхватывает данные.. если не победю его закрытием блюстака перед уходом в сон, тогда из кода вообще уберу блюстак, он сам спит и просыпается нормально

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


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

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