Показать сообщение отдельно
Старый 28.08.2015, 05:07   #103
Krysanov
Super Moderator
 
Аватар для Krysanov
 
Регистрация: 12.11.2013
Возраст: 45
Город: Горно-Алтайск
Регион: 04
Машина: lexus rx300
Сообщений: 3,146
Krysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to behold
По умолчанию

Цитата:
Сообщение от Lexx09 Посмотреть сообщение
Смысл слежения за процессом iCarDS.exe вот в чем:
  • Если в течение заданного определенного времени, например, 3 сек, после выполнения команды WinClose("iCar DS") процесс iCarDS.exe все еще висит в памяти, то он принудительно завершается. Т.е. если iCarDS заглючил и подвис при закрытии, он будет принудительно убит, и только потом Windows уснет.
  • Если же iCarDS закрылся быстрее 3 сек, то скрипт сразу же начинает выполняться дальше, а не ждет истечения 3 сек. В результате - более быстрое наступление сна.
Функция 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 заглючил, то при выходе из сна глюки продолжатся.
О, спасибо, очень понятно и полезно
__________________
Windows 8.1, 64 бит, iCar DS 1.7.0.60
LGA 1155 Intel(R) Core(TM) i5-3570 CPU @ 3,4 GHz (6 Mb), 2x DDRIII 4Gb 1333 MHz KINGMAX, ASRock IntelB75, VGA (DVI+HDMI)+PCX16 3,0, SSD TOSHIBA OCZ tr150 на 240 GB, 2,5 Samsung SATA 1 Tb 5400 rpm, 8Mb, M4-atx -hv
Проект Кристалл-М=многоканальный звук в Lexus rx300 на базе CarPC!
Установка Windows, iCarDS и всего, что необходимо для CarPC!
_________________________________________

Krysanov вне форума   Ответить с цитированием