Показать сообщение отдельно
Старый 23.09.2016, 23:06   #373
shumaz
Старший Пользователь
 
Регистрация: 27.08.2015
Регион: Украина
Сообщений: 289
shumaz is on a distinguished road
По умолчанию

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

У меня такой вопрос: стоит приблуда называется 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

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

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


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