yaodnako
Продвинутый
- Сообщения
- 120
- Репутация
- 78
Есть такая программа как ClubControl и она периодически зависает.Решил написать скрипт для распознавания зависания этой проги и последующего ее перезапуска.Нашел файл,к которому прога часто обращается при активной работе и увеличивает постоянно его размер,соответственно при зависании файл остается неизменным и проверку можно устроить просто по размеру.Но тут есть одна трудность - это файл каждый день меняется и имеет формат "ГГ ММ ДД.cc4.bak".то есть часть имени состоит из текущей даты,но сложность в том,что эта дата меняется не в 12 часов ночи,а в 8 утра.Пришлось делать условие и если еще не наступило 8 утра и время больше 12ти ночи - просто от дня отнимается единица.И в итоге(см.скрипт) все вроде нормально,но прога 1го числа любого месяца после 12ти и до 8ми утра работать правильно не будет!
1.как сделать так,чтобы она правильно определяла число предидущего дня?ведь есть и 30 и 31 и 28 последние числа месяца,+високосный невисокосный год!
2.как скрыть иконку выполнения скрипта в трее.
3.Пробовал сделать вначале проверку по номеру порта и айпи - не знаю почему не получилось,пришлось так изголяться.как можно реализовать это?может можно еще как то определить,что программа зависла?
4.может можно как то по другому узнать имя этого файла? по времени изменения не получится,так как там еще есть файл,который так же часто изменяется.
да и еще - как сделать,чтобы на форуме изображение кода было с цветными пометками? пробовал утилиту для вставки в форум - почему то отобразились только теги!в итоге это нечитабельно стало.пришлось так вставлять код.
сильно не пинайте - я только позавчера познакомился с автоитом и это мой первый серьезный(для меня) скрипт
1.как сделать так,чтобы она правильно определяла число предидущего дня?ведь есть и 30 и 31 и 28 последние числа месяца,+високосный невисокосный год!
2.как скрыть иконку выполнения скрипта в трее.
3.Пробовал сделать вначале проверку по номеру порта и айпи - не знаю почему не получилось,пришлось так изголяться.как можно реализовать это?может можно еще как то определить,что программа зависла?
4.может можно как то по другому узнать имя этого файла? по времени изменения не получится,так как там еще есть файл,который так же часто изменяется.
да и еще - как сделать,чтобы на форуме изображение кода было с цветными пометками? пробовал утилиту для вставки в форум - почему то отобразились только теги!в итоге это нечитабельно стало.пришлось так вставлять код.
сильно не пинайте - я только позавчера познакомился с автоитом и это мой первый серьезный(для меня) скрипт
Код:
;================ Функция проверки времени+генерация имени файла бэкапа отчета ================
Func VerifyTime()
dim $hh=@hour & @min
if $hh>=800 and $hh<=2359 then
Local $currentDateFilename=@YEAR & " " & @MON & " " & @MDAY & ".cc4.bak"
;для теста MsgBox(0,"Имя файла не меняется",$currentDateFilename)
else
dim $day=@mday-1
Local $currentDateFilename=@YEAR & " " & @MON & " " & $day & ".cc4.bak"
;для теста MsgBox(0,"Имя файла меняется",$currentDateFilename)
Endif
return $currentDateFilename
EndFunc
;==================================================================================
Do
$tmp=1
dim $filepath="F:\CCC Data\Data\" & verifyTime()
;складываем путь и переменную,где хранится имя файла.
;и сохраяем это в новую переменную.
;msgBox(0,"путь = ", $filepath)
dim $size1= FileGetSize($filepath)
;MsgBox(0,"Размер файла равен", $size1)
Sleep(180000)
dim $size2=FileGetSize($filepath)
If $size1=$size2 Then
ProcessClose("ClubControl.exe")
Run ("C:\ClubControl\ClubControl.exe")
WinWaitActive("Вход в систему")
Send("{ENTER}")
EndIf
until $tmp=0