Что нового

Как скриптом автоматически подсоединиться к интернету

Сообщения
80
Репутация
-1
Здравствуйте.
Помогите решить вопрос.

Как скриптом autoit - автоматически подсоединиться к интернету (который на момент срабатывания отключен) ?
Соединение называется WAN miniport PPPoe
1716973235503.png
(Сейчас при щелчке по ярлыку - происходит не соединение с интернетом, а просто появление окна по которому появляется окно с требованием щелкнуть по кнопке.)
 

All2khoff

Продвинутый
Сообщения
369
Репутация
65
Для запуска PPPoE соединения через CMD я бы изучил
rasphone /? - вызов диалога rasdial /? - Подключение без показа диалога
В вашем же случае, после запуска ярлыка, при условии что логин и пароль сохранены достаточно использовать
Код:
Send("{ENTER}")

для более точной точности, можно предварительно проверить наличие и активность нужного окна.
 
Автор
D
Сообщения
80
Репутация
-1
Для запуска PPPoE соединения через CMD я бы изучил
rasphone /? - вызов диалога rasdial /? - Подключение без показа диалога
В вашем же случае, после запуска ярлыка, при условии что логин и пароль сохранены достаточно использовать
Код:
Send("{ENTER}")

для более точной точности, можно предварительно проверить наличие и активность нужного окна.
Понятно.
А как сам скрипт-автоит будет выглядеть ?
 

All2khoff

Продвинутый
Сообщения
369
Репутация
65
Примерно так.
Код:
Global $win = "Подключение: Icomtel"     ;задаем имя окна которое ищем

While True            ;бесконечный цикл ожидания окна
    Sleep(1000)        ;задержка в 1 секунду между проверками
    check()            ;вызов функции
WEnd

Func check()                    ;исполнение функции          
    If WinExists($win) Then        ;если окно есть
        Sleep(500)                ;задержка
        WinActive($win)            ;активируем окно
        Sleep(500)                ;задержка
        Send("{ENTER}")            ;шлем команду ENTER
        Sleep(10000)            ;ждем 10 секунд дабы не послать ENTER повторно.
    EndIf                        ;конец если
EndFunc                            ;завершение функции

EndFunc
 

All2khoff

Продвинутый
Сообщения
369
Репутация
65
Когда не явное ТЗ - результат хз.
Код:
Global $namelan = "Icomtel"  ;название подключения
Global $login = "111" ;логин
Global $pass = "222" ;пароль

Run(@ComSpec & " /c rasdial " &$namelan&' '&$login&' '& $pass, "", @SW_HIDE)

название подключения должно буква в букву соответствовать тому что в сетевых настройках
1717063705818.png
 
Автор
D
Сообщения
80
Репутация
-1
Когда не явное ТЗ - результат хз.
Код:
Global $namelan = "Icomtel"  ;название подключения
Global $login = "111" ;логин
Global $pass = "222" ;пароль

Run(@ComSpec & " /c rasdial " &$namelan&' '&$login&' '& $pass, "", @SW_HIDE)

название подключения должно буква в букву соответствовать тому что в сетевых настройках
Посмотреть вложение 6131

Спасибо.
Не работает.
Не подключает интернет.
Вообще ничего не происходит.
 

All2khoff

Продвинутый
Сообщения
369
Репутация
65
Имя сети, логин и пароль должны быть в кавычках.
 

All2khoff

Продвинутый
Сообщения
369
Репутация
65
Dalm вот реально, данное решение решается изучением
rasphone /? - вызов диалога rasdial /? - Подключение без показа диалога с гуглом
или покупкой роутера...

Вот реально нет технической возможности проверить работоспособность... у меня при запуске созданное подключение пытается кудато подключиться.
 
Автор
D
Сообщения
80
Репутация
-1
Ясно.
Ну может кто-то подскажет.
Сообщение автоматически объединено:

Здравствуйте.
Помогите решить вопрос.

Как скриптом autoit - автоматически подсоединиться к интернету (который на момент срабатывания отключен) ?
Соединение называется WAN miniport PPPoe
 
Последнее редактирование:

AZJIO

Меценат
Меценат
Сообщения
2,885
Репутация
1,195
Я давно не пользовался, может последний раз ещё на WinXP и там была опция типа запомнить или автовход и создание ярлыка. В общем с рабочего стола нажимал ярлык и возможно жал Enter, а реальное соединение появлялось через полторы минуты. Но сейчас простенький роутер, всегда подключен к интернету, намного удобней ни ждать не надо ни включать.

Вот что-то осталось, может из этого сделаешь что нибудь. Это я в LiveCD использовал чтобы быстро подключиться.
Код:
Global $Ini = @ScriptDir&'\inet.ini'
If FileExists('B:\inet.ini') Then Global $Ini = 'B:\inet.ini'
$login = IniRead ($Ini, "setinet", "login", "55tt44ee"); логин
$Passw = IniRead ($Ini, "setinet", "passw", "88nn33zz") ; пароль
$name_lnk = IniRead ($Ini, "setinet", "name_lnk", "inet") ; имя соединения, оно же имя ярлыка инета

If FileExists(@ScriptDir&'\rasphone.pbk') Then
FileCopy(@ScriptDir&'\rasphone.pbk', @AppDataCommonDir & '\Microsoft\Network\Connections\Pbk', 9)
else
If FileExists('C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk') Then FileCopy('C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk', @AppDataCommonDir & '\Microsoft\Network\Connections\Pbk', 9)
endif
ShellExecute ( @AppDataCommonDir & '\Microsoft\Network\Connections\Pbk\rasphone.pbk','','','open', @SW_HIDE )
WinWaitActive('Сетевые подключения - rasphone.pbk')
Send("{ENTER}")

WinWaitActive('Подключение: '&$name_lnk)
Send("{TAB 2}")
Send("{SPACE}")
ControlSend('Подключение: '&$name_lnk, "", "[CLASS:Edit; INSTANCE:1]", $login)
ControlSend('Подключение: '&$name_lnk, "", "[CLASS:Edit; INSTANCE:2]", $Passw)
Send("{ENTER}")
 
Автор
D
Сообщения
80
Репутация
-1
Я давно не пользовался, может последний раз ещё на WinXP и там была опция типа запомнить или автовход и создание ярлыка. В общем с рабочего стола нажимал ярлык и возможно жал Enter, а реальное соединение появлялось через полторы минуты. Но сейчас простенький роутер, всегда подключен к интернету, намного удобней ни ждать не надо ни включать.

Вот что-то осталось, может из этого сделаешь что нибудь. Это я в LiveCD использовал чтобы быстро подключиться.
Код:
Global $Ini = @ScriptDir&'\inet.ini'
If FileExists('B:\inet.ini') Then Global $Ini = 'B:\inet.ini'
$login = IniRead ($Ini, "setinet", "login", "55tt44ee"); логин
$Passw = IniRead ($Ini, "setinet", "passw", "88nn33zz") ; пароль
$name_lnk = IniRead ($Ini, "setinet", "name_lnk", "inet") ; имя соединения, оно же имя ярлыка инета

If FileExists(@ScriptDir&'\rasphone.pbk') Then
FileCopy(@ScriptDir&'\rasphone.pbk', @AppDataCommonDir & '\Microsoft\Network\Connections\Pbk', 9)
else
If FileExists('C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk') Then FileCopy('C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk', @AppDataCommonDir & '\Microsoft\Network\Connections\Pbk', 9)
endif
ShellExecute ( @AppDataCommonDir & '\Microsoft\Network\Connections\Pbk\rasphone.pbk','','','open', @SW_HIDE )
WinWaitActive('Сетевые подключения - rasphone.pbk')
Send("{ENTER}")

WinWaitActive('Подключение: '&$name_lnk)
Send("{TAB 2}")
Send("{SPACE}")
ControlSend('Подключение: '&$name_lnk, "", "[CLASS:Edit; INSTANCE:1]", $login)
ControlSend('Подключение: '&$name_lnk, "", "[CLASS:Edit; INSTANCE:2]", $Passw)
Send("{ENTER}")

Выдает ошибку:
1717540675266.png
 
Верх