По просьбе Стаса пишу сюда свою ситуацию (для удобства общения):
У меня такой вопрос: стоит приблуда называется 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", 100, 100, 1, 1)
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) == 0) Then
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
и потом изчезают. запускаешь заново - такое же.
может так и должно быть? или должно висеть постоянно в процессах???
добавил в планировщик заданий как простую задачу...жму запустить, статус задачи меняется на "работает" и получаю ошибки (скрины прилагаю ниже). Как бы виснет весь планировщик задач.
