ведёт логи, ловит, перезапускает убитое приложение...ну думаю разберётесь))
..........
так же особенность, есть проверка на какие приложения в какой папке реагировать, дабы не вылезать за рамки скажем своих утилит, которые надеюсь лежат в одной папочке)
если есть желаение можно в логи ещё и скриншоты ошибок сохранять, просто брать Handle ошибок и делать скриншот, сохраняя их в ту же папку что логи, под именем из точной даты, а далее сверять всё по логам, если конечно это нужно
если есть желаение можно в логи ещё и скриншоты ошибок сохранять, просто брать Handle ошибок и делать скриншот, сохраняя их в ту же папку что логи, под именем из точной даты, а далее сверять всё по логам, если конечно это нужно
Add(StrMask,5234971,742,196)
{
@Color=16755200
Mask="*ошибка*"
link(onFalse,16742156:doCompare,[(782,202)(782,188)])
link(onTrue,212028:doWork2,[])
}
Add(WinEnum,2507599,672,196)
{
@Color=16755200
link(onFindWindow,5234971:doCompare,[])
}
Add(StrMask,16742156,791,182)
{
@Color=16755200
Mask="*error*"
link(onFalse,14823293:doCompare,[(845,188)(845,97)])
link(onTrue,212028:doWork1,[(837,195)])
}
Add(WinTools,12222132,1043,182)
{
@Color=16755200
link(Handle,13254705:Var3,[(1049,138)])
}
Add(Timer,12795453,623,196)
{
Enable=1
link(onTimer,2507599:doEnum,[])
}
Add(HubEx,212028,833,203)
{
link(onEvent,6849193:doWork3,[(921,209)])
}
Add(FormatStr,3255521,1001,315)
{
DataCount=3
Mask="Скан ошибок: [%1] %2 %3"
Point(FString)
link(onFString,13852468:doEvent1,[])
link(Str1,3418927:FormatTime,[])
link(Str2,14049313:Value,[(1014,209)(965,209)])
}
Add(Time,3418927,1001,266)
{
Format="D:M:Y - h:m:s"
}
Add(Hub,1508952,1001,203)
{
link(onEvent1,12222132:doClose,[])
link(onEvent2,3255521:doString,[(1028,216)(1028,244)(989,244)(989,321)])
}
Add(StrList,2684800,1239,322)
{
FileName="Error.txt"
link(Str,3255521:FString,[(1245,310)(1126,310)(1126,359)(1007,359)])
}
Add(Hub,6221616,1190,322)
{
OutCount=4
link(onEvent1,2684800:doClear,[(1222,328)(1222,335)])
link(onEvent2,2684800:doLoad,[(1222,335)(1222,356)])
link(onEvent3,2684800:doAdd,[(1222,342)(1222,328)])
link(onEvent4,2684800:doSave,[(1222,349)(1222,363)])
}
Add(Hub,13852468,1050,315)
{
link(onEvent2,6221616:doEvent1,[])
}
Add(WinInfo,4483508,1015,70)
{
Point(ProcessID)
link(onWinInfo,7399205:doFindID,[])
link(Handle,13254705:Var1,[(1021,51)(916,51)])
}
Add(StrMask,14823293,868,91)
{
@Color=16755200
Mask="*.exe*"
link(onTrue,6849193:doWork2,[])
}
Add(GetDataEx,13254705,910,133)
{
Angle=3
link(Data,2507599:Handle,[(861,138)(861,240)(678,240)])
}
Add(EnumProcess,7399205,1064,63)
{
Point(onFind)
Point(FullPath)
link(ID,4483508:ProcessID,[(1070,51)(1052,51)(1052,114)(1035,114)])
link(onFind,7721851:doCompare,[])
}
Add(StrMask,7721851,1127,70)
{
Mask="*C:*Project*"
link(onFalse,10271746:doCompare,[])
link(onTrue,6123840:doWork1,[(1187,83)])
link(Str,7399205:FullPath,[(1133,58)(1105,58)(1105,107)(1077,107)])
}
Add(HubEx,6849193,917,98)
{
Angle=3
link(onEvent,14049313:doValue,[(921,76)])
}
Add(Memory,14049313,959,70)
{
link(onData,4483508:doWinInfo,[])
}
Add(StrMask,10271746,1211,70)
{
Mask="*WerFault*"
link(onTrue,6123840:doWork3,[(1255,83)(1255,125)])
}
Add(HubEx,6123840,1183,119)
{
Angle=1
link(onEvent,1508952:doEvent1,[(1187,166)(989,166)(989,209)])
}