Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Опять я что-то забыл, хочу просмотреть VPNки в VB6 Добавлено: 13.11.12 17:35  

Автор вопроса:  Smith | ICQ: adamis@list.ru 
Private Declare Function RasEnumConnectionsA Lib "rasapi32.dll" (ByRef lpRasconn As Any, ByRef lpcb As Long, ByRef lpcConnections As Long) As Long
Private Const RAS_MaxEntryName = 256
Private Const RAS_MaxDeviceName = 129
Private Const RAS_MaxDeviceType = 16

Private Type tRasConnA
  dwSize As Long
  hRasConn As Long
  szEntryName(RAS_MaxEntryName) As Byte
  szDeviceType(RAS_MaxDeviceType) As Byte
  szDeviceName(RAS_MaxDeviceName) As Byte
End Type

Private Sub Form_Load()

  Dim CONN() As tRasConnA
  Dim lSiz As Long
  Dim lMax As Long
  Dim lRes As Long

  ReDim CONN(3)
  CONN(0).dwSize = Len(CONN(0))
  lSiz = CONN(0).dwSize
  lRes = RasEnumConnectionsA(CONN(0), lSiz, lMax)

  MsgBox "Всего: " & lMax & vbCrLf & Byte2Text(CONN(0).szEntryName), , IIf(lRes = 0, "Успешно", "Ошибка")
  End

End Sub


И сколько бы подключений не было, получаю только 1.

Ответить

  Ответы Всего ответов: 27  

Номер ответа: 1
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 13.11.12 18:09
если я не ошибаюсь, RasEnumConnectionsA возвращает не существующие а именно АКТИВНЫЕ в текущий момент соединения

Ответить

Номер ответа: 2
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #2 Добавлено: 13.11.12 19:36
Не ошибаетесь...

Ответить

Номер ответа: 3
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #3 Добавлено: 14.11.12 09:38
Но бывает тоннель в тоннеле виснет.
Всплывает следующий больной вопрос.
Как создать новую запись в фонэбук.
Молча, без всплывающих окон и т.п.

Ответить

Номер ответа: 4
Автор ответа:
 Nash Bridges



Вопросов: 5
Ответов: 139
 Профиль | | #4 Добавлено: 15.11.12 20:49
Той же функцией, что и открывает фонэбук.
Просто укажи не существующее имя.

Ответить

Номер ответа: 5
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #5 Добавлено: 16.11.12 10:58
Private Declare Function RasPhonebookDlg Lib "RASDLG.DLL" Alias "RasPhonebookDlgA" (ByVal lpszPhonebook As String, ByVal lpszEntry As String, ByRef lpInfo As RASPBDIALOG) As Long
Private Declare Function RasDialDlg Lib "RASDLG.DLL" Alias "RasDialDlgA" (ByVal lpszPhonebook As String, ByVal lpszEntry As String, ByVal lpszPhoneNumber As String, ByRef lpInfo As RASDIALDIALOG) As Long
Private Declare Function RasMonitorDlg Lib "RASDLG.DLL" Alias "RasMonitorDlgA" (ByVal lpszDeviceName As String, ByRef lpInfo As RASMONITORDIALOG) As Long
Private Declare Function RasEntryDlg Lib "RASDLG.DLL" Alias "RasEntryDlgA" (ByVal lpszPhonebook As String, ByVal lpszEntry As String, ByRef lpInfo As RASENTRYDIALOG) As Long

Хоть я и не пробовал, но все они очевидно завязаны на диалоги.

Ответить

Номер ответа: 6
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #6 Добавлено: 16.11.12 11:57
With EntryInfo
    .dwSize = Len(EntryInfo)
    .hwndOwner = OwnerFormHandle
    .dwFlags = RASEDFLAG_NewEntry
    ChangeBytes strEntryName, .szEntry
  End With

  Res = RasEntryDlg(strPhonebook, strEntryName, EntryInfo)

Возвращает 0, т.е. по идее успешно, а нового соединения нет.

Ответить

Номер ответа: 7
Автор ответа:
 Nash Bridges



Вопросов: 5
Ответов: 139
 Профиль | | #7 Добавлено: 16.11.12 12:03
Не увидел. Тебе нужно соединение создать, а не новую книгу.

Этой создавай RasSetEntryProperties или этой RasSetEntryDialParams

Ответить

Номер ответа: 8
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #8 Добавлено: 17.11.12 15:16
Пробовал RasSetEntryDialParams, но видно что-то упустил.
Не создает.

Ответить

Номер ответа: 9
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #9 Добавлено: 19.11.12 17:18
Удаётся удалить и создать новое.
Только с типом пока беда, курю.

Ответить

Номер ответа: 10
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #10 Добавлено: 20.11.12 16:09
Запарился мудохать все эти константы, решил просто один раз копировать байтмассив существующего, прямыми руками настроенного подключения.

Осталась одна беда, немогу передать винде на постоянное хранение логин пароль. Как винде программно внушить, чтоб запомнила их для юзера?

Ответить

Номер ответа: 11
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #11 Добавлено: 25.12.12 13:06
Видимо никто никогда такого не делал.

Гуглом по форуму не могу найти.

Был пост про русификацию VBшных сообщений об ошибках.
Кто-то высчитал, что нужно с Err.Number'ом делать,
чтоб его FormatMessage правильно обрабатывал.

Ответить

Номер ответа: 12
Автор ответа:
 Nash Bridges



Вопросов: 5
Ответов: 139
 Профиль | | #12 Добавлено: 26.12.12 20:10
Такое много кто делал и, наверное, делает.

Ты бы сказал, что не получается и что надо в итоге сделать.

Ответить

Номер ответа: 13
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #13 Добавлено: 26.12.12 21:51
Много кто делал, а найти никак не могу и не только на VBNET.

Как-то с помощью FormatMessage и FORMAT_MESSAGE_FROM_SYSTEM
из системы выуживались русские аналоги VBшных Err.Description.

Ответить

Номер ответа: 14
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #14
Добавлено: 26.12.12 22:22
Не думаю, что всё так, как есть на самом деле. Бейсик выдаёт ошибки виртуальной машины, а система системные.
http://msdn.microsoft.com/en-us/library/cc231199.aspx
http://www.halfile.com/vb.html

Ответить

Номер ответа: 15
Автор ответа:
 Nash Bridges



Вопросов: 5
Ответов: 139
 Профиль | | #15 Добавлено: 26.12.12 23:29
Не очень понимаю про какие ошибки идет речь.

Если про ошибки RAS, то есть RasGetErrorString.
Соответственно, возвращает ошибки на языке системы.

Если надо вне зависимости от языка, то найди Сишный хедер RASa,
там все ошибки RAS константами обозначены, и делай свой select case.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам