Что нового

автоматическая установка соединения

InnI

AutoIT Гуру
Сообщения
4,951
Репутация
1,446
Mancoffee
Когда вы запускаете скрипт без сети, то попадаете в Else. А там у вас (ВНИМАНИЕ!) вечный цикл.
 

Mancoffee

Свет проталкивает тьму ...
Сообщения
86
Репутация
1
InnI [?]
А как сделать, чтобы постоянный проверка (пинг) была, пока не подключится к интернету? То есть пока не выполнится первое условие
 

InnI

AutoIT Гуру
Сообщения
4,951
Репутация
1,446
Mancoffee [?]
RunAs проверить не могу, т.к. не на чем. Остальное работает
Код:
$Pass = "Пароль"
If Ping("strim.net.ua", 250) Then
  MsgBox(0, '', "Интернет есть", 2)
  Exit
Else
  Do
    MsgBox(0, 'Подключение', 'Соединяем ...', 2)
;~     RunAs(@UserName, @ComputerName, $Pass, 0, 'Rasdial "Название соединения" "Логин" "Пароль"')
    Sleep(10000)
  Until Ping("strim.net.ua", 250)
  MsgBox(0, '', "Подключились", 2)
EndIf
 

Mancoffee

Свет проталкивает тьму ...
Сообщения
86
Репутация
1
InnI [?]
RunAs проверить не могу, т.к. не на чем. Остальное работает
Работает, только ...
Если от сети отключен и запускаю скрипт и потом соединяюсь с сетью, то в итоге подключается к интернету. Если же перед запуском скрипта я уже подключен к сети, то тогда выдаёт сообщение "Интернет есть", не подключается к интернету (то есть не выполняется Else) и заканчивается работа скрипта.

П.С. Может неправильное понимание. Я могу подключится только тогда, когда я подсоединён к сети (не к интернету), а адрес strim.net.ua является адресом провайдера, в который я могу зайти даже без интернета, то есть при соединении к сети, поэтому и пингую его для проверки.
 

erlik

Продвинутый
Сообщения
317
Репутация
84
Код:
$Pass = "Пароль"
Do
    If Ping('strim.net.ua',250) And Not Ping("yandex.ru", 250) Then
	    MsgBox(0, 'Подключение', 'Соединяем ...', 2)
		; RunAs(@UserName, @ComputerName, $Pass, 0, 'Rasdial "Название соединения" "Логин" "Пароль"')
	EndIf
	Sleep(5000)
Until Ping("yandex.ru", 250)
MsgBox(0, '', "Подключились", 2)
Exit



Добавлено:
Сообщение автоматически объединено:

--------------------------------------------
Можно обойтись без двойного пинга яндекса и ненужной паузы, если подключение к инету уже есть:
Код:
$Pass = "Пароль"
While Not Ping("yandex.ru", 250) ; проверяем а нет ли уже интернета, если есть - немедленно завершаем работу
    Sleep(5000) ; если нет - подождем 5 секунд и проверим сеть
	If Ping('strim.net.ua',250) Then ; проверяем подключение к сети
	    MsgBox(0, 'Подключение', 'Соединяем ...', 2)
		; RunAs(@UserName, @ComputerName, $Pass, 0, 'Rasdial "Название соединения" "Логин" "Пароль"')
	EndIf
WEnd
MsgBox(0, '', "Подключились", 2)
Exit
 

InnI

AutoIT Гуру
Сообщения
4,951
Репутация
1,446
erlik
Я так понял, что Mancoffee хочет дождаться подключения к strim.net.ua (видимо вручную подключает), а затем просто запустить подключение к интернету.

Mancoffee
Код:
$Pass = "Пароль"
While Not Ping("strim.net.ua", 250)
  MsgBox(0, 'Подключение', 'Ожидание подключения к сети', 2)
WEnd

MsgBox(0, 'Подключение', 'Запуск соединения с интернетом', 2)
;~ RunAs(@UserName, @ComputerName, $Pass, 0, 'Rasdial "Название соединения" "Логин" "Пароль"')

For $i = 0 To 9
  Sleep(1000)
  If Ping("ya.ru", 250) Then
    MsgBox(0, '', "Интернет есть", 2)
    Exit
  EndIf
Next
MsgBox(0, '', "Интернета нет :(", 2)
 
Верх