Что нового

Не работает Ping раз в минуту

mikzin

Новичок
Сообщения
80
Репутация
0
Доброго дня,

нужно чтоб каждую минуту проверялся пинг, и если нет ответа, то отключить и снова включить сеть.
не хочет работать, ничего не происходит..

Код:
func _netsh()
 Run(' "netsh interface set interface name="Home" admin=DISABLED" ')
 Sleep(5000)
 Run(' "netsh interface set interface name="Home" admin=ENABLED" ')
EndFunc


While 1
$iping = Ping("www.google.com", 2000)

If  $iping  < 5  and  $iping  > 0 Then
      _netsh()
  EndIf
	  Sleep(60000)
WEnd


спс заранее.
 

ildar

Осваивающий
Сообщения
252
Репутация
29
Код:
While 1
$iping = Ping("www.google.com", 2000)

If  $iping Then
 Sleep(60000)     
  EndIf
      _netsh()
WEnd
 
Автор
M

mikzin

Новичок
Сообщения
80
Репутация
0
что-то здесь не так, срабатывает когда есть интернет.
так быть не должно..
 

u777u

Новичок
Сообщения
1
Репутация
0
Код:
While 1
$iping = Ping("www.google.com", 2000)

If  $iping=0 Then
    _netsh() 
EndIf
      Sleep(60000)
WEnd


Тут что-то написать... утомиться можно ))
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
mikzin
не хочет работать
В кавычках запутались
Код:
While Sleep(60000)
  If Not Ping("www.google.com", 2000) Then
    Run('netsh interface set interface name="Home" admin=DISABLED')
    Sleep(5000)
    Run('netsh interface set interface name="Home" admin=ENABLED')
  EndIf
WEnd
 
Автор
M

mikzin

Новичок
Сообщения
80
Репутация
0
возникла проблема :(

если перейти в гибернацию,
и потом выйти из гибернации, то программа всякий раз срабатывает, при выходе из гибернации.
как этого избежать?
 

araneon

Новичок
Сообщения
59
Репутация
0
Привет всем.
Подскажите а как сделать почти такую же проверку, но что бы об отсутствии связи свидетельствовало к примеру 30 подряд потерянных пакетов, что свидетельствовало бы что связи нет и нужно выдать GUI окошко с инструкцией.
Но при этом если связь восстановилась (к примеру через ещё 30 пакетов), то GUI окошко пропало и пинг продолжает выполнятся раз 2-5 минут?
 

sem0709

Новичок
Сообщения
11
Репутация
1
araneon сказал(а):
Привет всем.
Подскажите а как сделать почти такую же проверку, но что бы об отсутствии связи свидетельствовало к примеру 30 подряд потерянных пакетов, что свидетельствовало бы что связи нет и нужно выдать GUI окошко с инструкцией.
Но при этом если связь восстановилась (к примеру через ещё 30 пакетов), то GUI окошко пропало и пинг продолжает выполнятся раз 2-5 минут?

Код:
#include <WindowsConstants.au3> ; чтобы работало "По верх всех окон"

$HeaderGUI = "Заголовок окошка" ;надпись в заголовке окошка при отсутствии связи
$TextForDisplay = "Поди туда, нажми то, а это не трогай и туда лучше не лезь)" ;сама инструкция
$NotPing = 0 ;тут собираем кол-во потерянных пингов

While Sleep(180000) ;время которое ждёт скрипт, перед новым пингом, если пред. был удачный // в мс., 1000 = 1сек.
	While Sleep(1000) ;пингуем каждую 1 сек., если связь отсутствуем
		If Not Ping("ya.ru") Then ;если не пингуется в кавычках сайт, то
			$NotPing = $NotPing + 1 ;прибавляем 1 к кол-ву уже неудачного пинга
			If $NotPing = 30 Then ;после 30ти неудачных пингов создаём форму
			   GUICreate($HeaderGUI, 300, 200, -1, -1, -1, $WS_EX_TOPMOST) ;сама форма
			   GUICtrlCreateLabel($TextForDisplay, 5, -1, 290, 190) ;надпись на форме содержит текст инструкции
			   GUISetState() ;показываем\открываем форму
			EndIf
		 Else ;иначе, если пинг удачный
			If WinExists($HeaderGUI) Then ;если форма открыта, тогда
				GUIDelete() ;закрываем форму
				$NotPing = 0 ;обнуляем счётчик неудачных пингов, иначе форма повторно не откроется
			EndIf
			ExitLoop ;выходим из цикла
			EndIf
	WEnd
 WEnd


Недавно начал с Autoit работать, может кто лучше подскажет, но пока вот такой пример...
 
Верх