Что нового

Как зайти в только что созданное vpn подключение?

Автор
D

depodimon

Новичок
Сообщения
26
Репутация
0
Если есть другое соединение например Интернет 123, то появляется окно с выбором соединения!

Если это первое соединение на компе, то вместо этого окна сразу после ввода организации идёт ввод имя компьютера..
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
depodimon
Код:
;5

Sleep($speed)

If WinWaitActive('Мастер новых подключений','') Then
	$sAuto = StringInStr(WinGetText('Мастер новых подключений'),"надо ли автоматически подключаться")
	if $sAuto <> 0 Then
    Send ('{UP}{ENTER}')
Else
	WinWaitActive ( 'Мастер новых подключений','Введите имя узла или','5' )
    $pptphost = 'vpn.тратата.com'
    Send ( $pptphost & '{ENTER}')
	EndIf
EndIf

;6


вставь между 5 и 6 в своем коде проверь как будет работать.
 

Artem

Новичок
Сообщения
2
Репутация
0
depodimon сказал(а):
Если есть другое соединение например Интернет 123, то появляется окно с выбором соединения!

Если это первое соединение на компе, то вместо этого окна сразу после ввода организации идёт ввод имя компьютера..

У меня тоже была такая проблема, точнее их было даже 2.
Первая проблемы - это твой случай, когда при наличии хотя бы одного подключения появляется окно с вопросом "Набрать номер для предварительного подключения", если нет ни одного подключения в системе. вопрос не появлялся.
Вторая проблема заключалась в том, что на некоторых машинах после ввода ip адреса у меня появлялся вопрос, для кого создать данное VPN подключения с вариантами ответа: 1. только для меня 2. Для всех пользователей...
Решается это просто вложенными условиями проверки, какой именно окно сейчас появилось.

Код:
if WinActivate ("" , "Н&абрать номер для") Then ; - если уже есть подключение и спрашивает "Набрать номер для предварительного подключения", делаем следующее
      Sleep(1000)
  ControlClick($master , "", 1509)
  Sleep(1000)
     ControlClick($master , "", 12324)
       Sleep(1000)
         WinWaitActive($master , "")
             Send ("vpn.tratata.com.ua")
      ControlClick($master , "", 12324)
    Sleep($speed)
 WinWaitActive($master , "")  


    if WinActivate ("", "только для мен&я") Then ; - если появилось окошко с вопросом, для кого созд. данное подключение (1. только для меня 2. Для всех пользователей...), делаем следующее - выбираем только для меня
        ControlClick($master, "", 12324)
         Sleep(1000)
          WinWaitActive($master , "")
              ControlClick($master , "", 21005)
          Sleep(1000)
        ControlClick($master , "", 12325)
    Sleep(1000)
BlockInput (0)
Exit
    Else                                  ; -  если не появилось окно с вопросом для кого создать, идём дальше
WinWaitActive($master , "")
    ControlClick($master , "", 21005)
         Sleep(1000)
         ControlClick($master , "", 12325)
      Sleep(1000)
      BlockInput (0)
     MsgBox(0,"", "Настроили, на рабочем столе у вас появился ярлык ""Delta_VPN"", запустите его и введите ваш логин и пароль ")
    EndIf
    Exit             ;первый цикл проверки закончен

Else                                         ;- если это первое подключение в системы, продолжаем наши шаги
    WinWaitActive($master , "")
     Send ($vpn)
      ControlClick($master , "", 12324)
      Sleep(1000)

      if WinActivate ("", "только для мен&я") Then ; - опять же если появилось окошко с вопросом, для кого созд. данное подключение (1. только для меня 2. Для всех пользователей...), делаем следующее - выбираем только для меня
          WinWaitActive($master , "")
        ControlClick($master, "", 12324)
         Sleep(1000)
          WinWaitActive($master , "")
              ControlClick($master , "", 21005)
          Sleep(1000)
        ControlClick($master , "", 12325)
    Sleep(1000)
   Else                                             ;- если это первое подключение в системе и не было окна с вопросом, для кого созд. данное подключение (1. только для меня 2. Для всех пользователей...), то идём дальше
    WinWaitActive($master , "")
    ControlClick($master , "", 21005)
         Sleep(1000)
         ControlClick($master , "", 12325)
      Sleep(1000)
EndIf
EndIf


Это тот кусок моего кода (полный код смотри раньше), который отвечает за проверки 2-х этих проблем.

Если не получится, возьми мой предыдущий код, он полностью рабочий и добавь свои блоки, как крайний случай. В нём уже вставлена проверка на существование аналогичного VPN соеденения в системе и решена проблема, связанная с наличием в системе какого либо другого подключения.

Ну в общем примерно так,если есть вопросы по коду пиши, хотя код не сложный и наверно кому то покажется примитивным :smile: , но всё же )
 
Автор
D

depodimon

Новичок
Сообщения
26
Репутация
0
Спасибо! Домучал) Правда всё проще сделал:

Код:
;5
if WinActivate  ("Мастер новых подключений" , "надо ли автоматически подключаться")  Then ; - если уже есть подключение и 
Sleep($speed)
Send ('{UP}{ENTER}')
EndIf
;6
WinWaitActive ( 'Мастер новых подключений','Введите имя узла или','5' )
$pptphost = 'vpn.set.com'
Sleep($speed)
Send ( $pptphost & '{ENTER}')

только вот проблема, при проверки если есть соединение то всё ок пишет что есть и не чего не делает, а если нет сначала выдаст ошибку 623 "Такое соединение в тел. книге не найдено" и дальше нормально создаёт.
Как этой ошибки можно избежать?
 
Автор
D

depodimon

Новичок
Сообщения
26
Репутация
0
Да нет не помогло, всёровно в начале скрипта если нет такого подключения то он ошибку выдаёт и дальше нормально работает, но всё же не очень хорошо когда ошибка возникает
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
depodimon
я же скинул ссылку добавь проверку ключа в реестре и проверку соединения тоесть если есть соединение и ключ в реестре то ничего не делать если есть только ключ в реестре то удалить его от туда и выполнять дальше скрипт
 
Автор
D

depodimon

Новичок
Сообщения
26
Репутация
0
не помогает ошибка всё ровно возникает даже когда ключа нет
 
Верх