Что нового

[Окна, Диалоги] Перезапуск VLC при появлении ошибки (WatchDog)

kotugopese

Новичок
Сообщения
2
Репутация
0
Версия AutoIt: 3.3.12.0

Описание:
Добрый день.
Есть сервачек который показывает видео с природой и звуками птчек. Но VLC иногда падает, прекращая воспоизведение, и висит с ошибкой Runtime.
Встала необходимость отслежиывать появление окна с ошибкой и перезапускать VLC при его появлении.

Окно с ошибкой выглядит так (это не отдельный процесс. именно окно саомго VLC:
Код:
>>>> Window <<<<
Title:	Microsoft Visual C++ Runtime Library
Class:	#32770
Position:	293, 306
Size:	446, 185
Style:	0x94C803C5
ExStyle:	0x00010101
Handle:	0x01D302B4

>>>> Control <<<<
Class:	Static
Instance:	2
ClassnameNN:	Static2
Name:	
Advanced (Class):	[CLASS:Static; INSTANCE:2]
ID:	65535
Text:	Runtime Error!

Program: C:\Program Files\VideoLAN\VLC\vlc.exe


This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

Position:	62, 11
Size:	372, 93
ControlClick Coords:	201, 42
Style:	0x50022080
ExStyle:	0x00000004
Handle:	0x00DB02AE

>>>> Mouse <<<<
Position:	559, 388
Cursor ID:	0
Color:	0xECE9D8

>>>> StatusBar <<<<

>>>> ToolsBar <<<<

>>>> Visible Text <<<<
ŽŠ
Runtime Error!

Program: C:\Program Files\VideoLAN\VLC\vlc.exe


This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.



>>>> Hidden Text <<<<
Мой скрипт
Код:
AdlibRegister("CheckVLC", 10000) 
Sleep(3000) 
Exit

Func CheckVLC()

    If WinExists("Microsoft Visual C++ Runtime Library") Then 
        Run('"taskkill" "/IM vlc.exe" ', "", @SW_HIDE)
        Sleep(3000) 
        Run('"C:\Program Files\VideoLAN\VLC\vlc.exe" "c:\1.mp4"', "", @SW_SHOWMAXIMIZED)
    EndIf
EndFunc

Но что то где то не срабатывает :(
Усугубляется все тем что ощибка появляется раз в неделю, и отлавливать баг получается ну ооочень медленно.
Подскажите где у меня ошибка?
Может я вообще не правильно сделал WatchDog? он точно работает?
Примечания:
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: [Окна, Диалоги] WatchDog

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"[Окна, Диалоги] WatchDog" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Глобальный модератор.
 
Автор
K

kotugopese

Новичок
Сообщения
2
Репутация
0
Совсем не понял AdlibRegister. Эх.
Переделал так, на блокноте вроде срабатывает. Посмотрим что будет при следующей ошибке.
Код:
; 
While 1
   If WinExists("Microsoft Visual C++ Runtime Library") then
    Run('"taskkill" "/F" "/IM" "vlc.exe"', "", @SW_HIDE)
    Sleep(2000)
    Run('"C:\Program Files\VideoLAN\VLC\vlc.exe" "c:\1.mp4"', "", @SW_SHOWMAXIMIZED)
   Endif
   sleep(5000)
Wend
 
Верх