10.08.2015, 12:31
|
#34
|
Super Moderator
Регистрация: 12.11.2013
Возраст: 46
Город: Горно-Алтайск
Регион: 04
Машина: lexus rx300
Сообщений: 3,151
|
Цитата:
Сообщение от Lexx09
В этом коде не отслеживается переход в сон. Соответственно, перед сном ничего закрываться не будет. Закрытие программ и их запуск будут происходить после выхода из сна.
Чтобы закрывать программы при переходе в сон - нужно отслеживать сообщение PBT_APMSUSPEND. См. тут.
ProcessClose("SP Dialer.exe.exe") - один exe лишний, должно быть ProcessClose("SP Dialer.exe")
В общем, будет примерно так:
Код:
#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 <GUIConstants.au3>
#include <MsgBoxConstants.au3>
Global $PBT_APMSUSPEND = 0x0004
Global $PBT_APMRESUMESUSPEND = 0x0007
$hGUI = GUICreate("Restart", 100, 100, 1, 1)
GUIRegisterMsg($WM_POWERBROADCAST, "Standby")
; Запускаем iCarDS
ShellExecute("C:\Program Files (x86)\TipTop software\iCar DS\iCarDS.exe")
While 1
Sleep(100)
WEnd
Func Standby($hWnd, $Msg, $wParam, $lParam)
Select
; Если вход в спящий режим, то...
Case $wParam = $PBT_APMSUSPEND Then
Suspend()
; Если выход из спящего режима, то...
Case $wParam = $PBT_APMRESUMESUSPEND Then
ResumeSuspend()
Case Else
EndSelect
EndFunc
; Вход в спящий режим
Func Suspend()
; Закрываем GpsGate, если запущена
If ProcessExists("GpsGateXP.exe") Then
ProcessClose("GpsGateXP.exe")
EndIf
; Закрываем программу по коннекту инернета, если запущена
If ProcessExists("SP Dialer.exe") Then
ProcessClose("SP Dialer.exe")
EndIf
; Закрываем iCarDS, если запущена
If ProcessExists("iCarDS.exe") Then
ProcessClose("iCarDS.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")
; Запускаем iCarDS
ShellExecute("C:\Program Files (x86)\TipTop software\iCar DS\iCarDS.exe")
EndFunc
|
Жму руку, с уважением Андрей
__________________
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! 
_________________________________________
|
|
|