Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Проверка состояния сети. (http://forum.oszone.net/showthread.php?t=173484)

LikeSD 18-04-2010 18:28 1395698

Проверка состояния сети.
 
Работая в ТехПоддержке я пришел к выводу, что большинство (порядка 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 1395713

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

LikeSD 18-04-2010 19:05 1395723

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

читать дальше »
#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 1395751

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 1395762

О! Спасибо=)

zonderz 18-04-2010 21:03 1395775

LikeSD,

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

Mancoffee 29-03-2014 09:18 2330086

А как дождаться соединения?
Например как ProccessWait

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


Время: 16:38.

Время: 16:38.
© OSzone.net 2001-