PDA

Показать полную графическую версию : Проверка состояния сети.


LikeSD
18-04-2010, 18:28
Работая в ТехПоддержке я пришел к выводу, что большинство (порядка 95%) пользователей не могут внятно объяснить, что у них с интернетом. В связи с чем задался идеей создать неий скрипт, который бы выполнял определенный порядок действий и выводил сообщения в зависимости от выполнения задачи. Выглядеть примерно должно так:

1. Проверка включено ли "Подключение по локальной сети"
1.1 Если нет,то попытка выполнения команды ipconfig /renew
1.2 Если удачно ipconfig/renew, выполняем пункт 1 и переходим ко второму пункту
1.3 Если не удачно, то вывод сообщения "Возможно у вас отключено подключение по локальной
сети или сетевой кабель не подключен"

2. Если подключение включено. Попытка пинга адреса
2.1 Если не пингуется - вывод сообщения "Возможно вы не получили IP адрес от провайдера, обратитесь в ТП"
2.1 Если пингуется - вывод сообщения "Сеть работает. Если у вас проблемы с подключением
проверте правильность ввода логина/пароля, наличие средств на вашем лицевом счету"

Сделать удалось только проверку подключения и вывод сообщения работает или нет. Что делать дальше я просто не знаю. С программой AutoIT знаком мало. Если кто сможет помочь буду безумно благодарен. Думаю такая программа может многим помочь!

kaster
18-04-2010, 18:49
LikeSD, если есть некие реализации, то неплохо было бы предоставить код. чтобы было видно, что уже сделано и отчего плясать. а то на данный момент, по крайней мере у меня, складывается впечатление, что у тебя есть некие задумки и ты хочешь чтобы за тебя их реализовали.

LikeSD
18-04-2010, 19:05
Есть пока такое. Тоже где-то на форуме отыскал...Хотелось бы в этот код вставить решение задач, но не знаю с чего начать((

#include <Timers.au3>

Global $iShow_While_Progress = 1
Global $iProgress = 0
Global $hTimer = 0

_ProgressStart_Proc()

$iInetIsConnected = InetGetSize("http://ya.ru/logo.png")

_ProgressStop_Proc()

If $iInetIsConnected > 0 Then
MsgBox(64, "Internet Connection", "Интернет РАБОТАЕТ!")
Exit
EndIf

$iAsk = MsgBox(20, "Internet Connection", _
"К сожалению, сейчас Интернет на вашем компьютере НЕ РАБОТАЕТ. Сообщить, если Интернет будет работать?")

If $iAsk = 6 Then
If $iShow_While_Progress Then _ProgressStart_Proc()

While 1
Sleep(5000)

If InetGetSize("http://ya.ru/logo.png") > 0 Then
_ProgressStop_Proc()

Beep(1000, 100)
MsgBox(64, "Internet Connection", "Интернет РАБОТАЕТ | Время подключения: " & @HOUR & ":" & @MIN & ":" & @SEC)

Exit
EndIf
WEnd
EndIf

Func _ProgressStart_Proc()
ProgressOn("Internet Connection", "Проверка подключения", "Пожалуйста, подождите...", -1, -1, 16)
$hTimer = _Timer_SetTimer(0, 100, "_ProgressSet_Proc")
EndFunc

Func _ProgressStop_Proc()
If $hTimer <> 0 Then _Timer_KillTimer(0, $hTimer)

$hTimer = 0

ProgressSet(100)
Sleep(1000)
ProgressOff()
EndFunc

Func _ProgressSet_Proc($hWnd, $nMsg, $iIDTimer, $dwTime)
$iProgress += 1
If $iProgress >= 100 Then $iProgress = 0

ProgressSet($iProgress)
EndFunc

266903582
18-04-2010, 19:58
LikeSD, вставляй нужный адрес/адреса и пользуйся:
if Ping("127.0.0.1")=0 Or Ping("127.0.0.1")=0 Or Ping("127.0.0.1")=0 Or Ping("127.0.0.1")=0 Then
MsgBox(16,"","Возможно вы не получили IP адрес от провайдера, обратитесь в ТП")
Else
MsgBox(0,"","Сеть работает. Если у вас проблемы с подключением,"&@CR&"проверте правильность ввода логина/пароля, наличие средств "&@CR&"на вашем лицевом счету")
EndIf

В справке есть вся необходимая информация.

LikeSD
18-04-2010, 20:29
О! Спасибо=)

zonderz
18-04-2010, 21:03
LikeSD,

скачай мою прогу - для работы пригодится

Mancoffee
29-03-2014, 09:18
А как дождаться соединения?
Например как ProccessWait

То есть, как только Ping пошёл, так сразу подключиться к интернету?




© OSzone.net 2001-2012