Показать сообщение отдельно
Старый 03.12.2015, 00:59   #224
seriousstas
Бывалый писикарщик
 
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
seriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant future
По умолчанию

Цитата:
Сообщение от Krysanov Посмотреть сообщение
Апну вопрос. Очень часто такое происходит.. Причем и после обычного выключения (но не уверен на 100 процентов, тк пользуюсь сейчас смешанным режимом.. На работе, в гараже использую ПОИ, комп выключается совсем, завершая работу.. Если двигаюсь на авто, то использую гибридный режим..)
Никто не сталкивался?
Ты используешь полное выключение , тк есть проблемы ?
Мне хватает гибридного , сейчас настроил на идеальную работу этот
процесс . Перезапуск Икара (и др) все-таки оставил и все-таки отдельной прогой . Если правильно отстроить цепочку (открыть-закрыть) и использовать только
WinClose(" программа.exe") на входе (без ProcessClose)
проблем не должно быть .
Для старта при обычной загрузке использую планировщик .
Примерный вид моего скрипта :
Код:
#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>
; Это команда на сон
Global $PBT_APMSUSPEND = 0x0004
Global $PBT_APMRESUMESUSPEND = 0x0007

$hGUI = GUICreate("Restart", 100, 100, 1, 1)
GUIRegisterMsg($WM_POWERBROADCAST, "Standby")

 
While 1
	$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

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

; Вход в спящий режим
Func Suspend()
WinClose("iCar DS")
WinClose("Vkey_ARDUINO")
WinClose("CityGuide")
WinClose("foobar2000")


EndFunc

; Выход из спящего режима
Func ResumeSuspend()
     ; Закрываем BlueSoleilCS
     Run('taskkill /f /im BlueSoleilCS.exe',"", @SW_HIDE)
   
    If (ProcessWaitClose("iCarDS.exe", 3) == 0) Then
        WinClose("iCar DS")
   EndIf
   If (ProcessWaitClose("Vkey_ARDUINO.exe", 3) == 0) Then
        ProcessClose("Vkey_ARDUINO.exe")
   EndIf
    If (ProcessWaitClose("foobar2000.exe", 3) == 0) Then
        WinClose("foobar2000")
   EndIf
Sleep(500)
    ShellExecute("C:\Users\carPC\Documents\iCarDS\skins\Chameleon\Scripts\Vkey_СARDUINO.exe")
Sleep(1000)
    ; Запускаем iCarDS
    ShellExecute("C:\Program Files (x86)\TipTop software\iCar DS\iCarDS.exe")

EndFunc
На выходе из сна - обычная проверка , если вдруг чего не успело закрыться + запуск...
Ещё возможное решение Твоего вопроса :
http://pccar.ru/showpost.php?p=345011&postcount=24

Последний раз редактировалось seriousstas; 10.12.2015 в 02:41.
seriousstas вне форума   Ответить с цитированием