Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Интернет соединение
 
 автор: час   (20.06.2011 в 14:04)   личное сообщение
 
 

Задача:
Попытаться установить соединение с интернет - программно.

Option Explicit
Private Declare Function RasEnumConnections Lib "RasApi32.dll" Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, lpcConnections As Long) As Long
Private Declare Function RasGetConnectStatus Lib "RasApi32.dll" Alias "RasGetConnectStatusA" (ByVal hRasCon As Long, lpStatus As Any) As Long
Private Const RAS95_MaxEntryName = 256
Private Const RAS95_MaxDeviceType = 16
Private Const RAS95_MaxDeviceName = 32

Private Type RASCONN95
    dwSize As Long
    hRasCon As Long
    szEntryName(RAS95_MaxEntryName) As Byte
    szDeviceType(RAS95_MaxDeviceType) As Byte
    szDeviceName(RAS95_MaxDeviceName) As Byte
End Type

Private Type RASCONNSTATUS95
    dwSize As Long
    RasConnState As Long
    dwError As Long
    szDeviceType(RAS95_MaxDeviceType) As Byte
    szDeviceName(RAS95_MaxDeviceName) As Byte
End Type



Public Function IsConnected() As Boolean

Dim TRasCon(255) As RASCONN95
Dim lg As Long
Dim lpcon As Long
Dim RetVal As Long
Dim Tstatus As RASCONNSTATUS95

TRasCon(0).dwSize = 412
lg = 256 * TRasCon(0).dwSize
RetVal = RasEnumConnections(TRasCon(0), lg, lpcon)
Tstatus.dwSize = 160
RetVal = RasGetConnectStatus(TRasCon(0).hRasCon, Tstatus)

If Tstatus.RasConnState = &H2000 Then
   IsConnected = True
Else
   IsConnected = False
End If

End Function



Private Sub Form_Load()
Dim F As Long
Dim DTime As Date

For F = 1 To 10000
    If IsConnected = True Then
        MsgBox "Соединение установлено!"
        End
        Exit For
    End If
    
            DTime = Time()
            Do Until Second(Time() - DTime) > 1
            Loop
Next F
MsgBox "Соединение  не удалось установить!"
End
End Sub



Почему то не соединяется
IsConnected = False

  Ответить  
 
 автор: Дядя Федор   (20.06.2011 в 15:52)   личное сообщение
 
 

А оно зачем? Щас у всех постоянные выделенки висят.
В чем прикол? Поделись.

  Ответить  
 
 автор: час   (20.06.2011 в 17:32)   личное сообщение
 
 

Сам удивляюся.
Говорят, там есть местная сеть и выход в инет,
Так вот типа местная сама грузится, а внешняя - нет.
Что бы в работу её запустить надо мышкою кликнуть по соединению и сказать - запустить.
А ярлык в автозагрузке - 0 эфекта, потому как сначала местная должна загрузиться.
Я сам чё та не рублю, но надо....

  Ответить  
 
 автор: Дядя Федор   (21.06.2011 в 08:20)   личное сообщение
 
 

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

PS твой код проверяет есть ли соединение, но не соединяет.

  Ответить  
 
 автор: час   (21.06.2011 в 09:34)   личное сообщение
 
 

Мой код должен проверить - есть соединение, а если его нет - должен запустить подключение дважды кликнув по ярлыку соединения.

  Ответить  
 
 автор: Дядя Федор   (21.06.2011 в 09:51)   личное сообщение
 
 


должен запустить подключение дважды кликнув по ярлыку соединения.



и где это в коде?
Че-то я туплю.

  Ответить  
 
 автор: час   (21.06.2011 в 10:07)   личное сообщение
 
 

В коде этого пока нет - это задача такая

  Ответить  
 
 автор: час   (21.06.2011 в 10:08)   личное сообщение
 
 


Private Sub Form_Load()

Dim F As Long
Dim DTime As Date
Dim Result

For F = 1 To 1200
    If InternetConnected = True Then
'        MsgBox "Соединение установлено!"
        End
        Exit For
    End If
    
            DTime = Time()
            Do Until Second(Time() - DTime) > 3
            Loop
            ' запуск программы
           Call fHandleFile("C:\INTERN", 1)
           'Result = Shell("start " & "C:\INTERN") ' Естественно, вы должны знать имя текущего соединения с интернетом.
Next F
MsgBox "Соединение  с интернет - не удалось установить!"
End
End Sub

  Ответить  
 
 автор: час   (21.06.2011 в 10:10)   личное сообщение
 
 

Использую твой код(функцию) для запуска программы...
Пока неудачно....
Надо код - для запуска соединения, видимо

  Ответить  
 
 автор: Дядя Федор   (21.06.2011 в 10:30)   личное сообщение
 
 

М-да.

  Ответить  
 
 автор: час   (21.06.2011 в 11:11)   личное сообщение
 
 

  Ответить  
 
 автор: час   (21.06.2011 в 12:22)   личное сообщение
 
 

Как программно подключаться к интернету
Как открыть доступные соединения и подключить желаемое из них?

  Ответить  
 
 автор: Дядя Федор   (21.06.2011 в 12:48)   личное сообщение
 
 

Call Shell("rasdial <имя подключения> <имя пользователя> <пароль>" ?
(c)http://www.vbnet.ru/forum/show.aspx?id=143409

а вот список ошибок
http://www.ivloks.ru/?a=connect_errors

  Ответить  
 
 автор: час   (21.06.2011 в 12:59)   личное сообщение
 
 

Спасибо!
Это я пробовал - не пахает.
Не найден файл......


Тут такая хрень, что надо проверить наличие доступных подключений
или
Тут такая хрень, что надо проверить наличие доступных соединений
Я запутался в терминах

Вобщем надо, что бы шнур был и работал, и надо открыть соединение,
Но сначала и то и другое надо проверить программно - на наличие.
Надо какой то бы пример, что бы быть в теме.....

  Ответить  
 
 автор: Дядя Федор   (21.06.2011 в 13:02)   личное сообщение
 
 

Есть примеры на си. Если сечЁшь - щас добавлю ссылку.
Вот http://www.gotdotnet.ru/forums/2/67099/
А во на vba

http://www.sql.ru/forum/actualthread.aspx?tid=389069
(наверное - не-то)

  Ответить  
 
 автор: час   (21.06.2011 в 13:33)   личное сообщение
 
 

Я тоже нашукал - гемор ещё тот......
http://www.vbcoding.org.ua/articles/articlesvb6/42-Internet_i_set/53-Setevye-funkcii-indos-588.html

  Ответить  
 
 автор: час   (21.06.2011 в 14:10)   личное сообщение
 
 

или вот
Ну канешно там декларируем Windows API

'' Данный код вызывает окно "Установка связи" из "Удаленный доступ к сети".

'Private Sub Form_Load()
'Result = Shell("rundll32.exe rnaui.DLL,RnaDial " & "connection_name", 1)
'End Sub



А нихр... он не раотает,...
может из за Windows7

  Ответить  
 
 автор: час   (21.06.2011 в 14:12)   личное сообщение
 
 

вощем изгуглился я за два дня
- а всё такая же хер..

  Ответить  
 
 автор: Дядя Федор   (21.06.2011 в 15:46)   личное сообщение
 
 

  Ответить  
 
 автор: час   (22.06.2011 в 10:39)   личное сообщение
 
 

Ну вощем то проблема решена
Как мир стара была она
Программу так я заточил
Что пару ярлыков в неё включил
Она по очереди запускает их
На том закончу!
И закончу стих........

  Ответить  
 
 автор: kot_k_k   (22.06.2011 в 10:46)   личное сообщение
 
 

есть програмулина которая управляет мышом - задаешь точку на экране и выибраешь вид клика и не хрен голову морочать
если нет соединенения - запускаешь прогу она сворачивает окна и тыкает мышом в ярлык и разворачивает окна

  Ответить  
 
 автор: час   (22.06.2011 в 12:13)   личное сообщение
 
 

Круто....

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList