/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Online???
Fra : Bjarke Walling Peter~


Dato : 28-04-01 16:37

Hej...

Er der nogen der ved hvordan man i VB checker om man er på internettet. Før
hen har jeg brugt WinSock til at finde IP-adressen og kontrolleret om den
var 127.0.0.1 (i så fald gik jeg ud fra at computeren ikke var på
internettet)...
Men jeg har fundet ud af at man ikke behøver at have ip 127.0.0.1, selvom
man ikke er på internettet.
Hvad gør man?

- Bjarke Walling



 
 
Tomas Christiansen (28-04-2001)
Kommentar
Fra : Tomas Christiansen


Dato : 28-04-01 22:44

Bjarke Walling Petersen skrev:
> Er der nogen der ved hvordan man i VB checker om man er på internettet.

Det er faktisk RET svært (læs: i praksis umuligt) at foretage en fuldstændig
sikker kontrol af, om man er tilsluttet Internettet eller ej.

> Men jeg har fundet ud af at man ikke behøver at have ip 127.0.0.1, selvom
> man ikke er på internettet.

ALLE computere, som har TCP/IP protokollen installeret og aktiveret, "har"
adressen 127.0.0.1.
Dette er en speciel adresse, som også kaldes "loopback", og som refererer
til netkortet selv.
Hvis ping 127.0.0.1 går godt, er det et tegn på at TCP/IP protokolstakken
virker.

Idet at det er muligt at tilkoble sig Internettet via satellit, modem,
ISDN-adapter, ADSL, via LAN netkort osv.osv.osv. (og nye muligheder kommer
til "hver dag"), er det svært at checke adgangen til Internettet ved at
checke på et eller andet lokalt på PC'en.
Det eneste rigtige må være at søge en genkendelig information på
Internettet. Findes denne information som forventet er forbindelsen der, og
ellers må man antage at forbindelsen ikke er til stede. Det er IKKE en
skudsikker metode men, måske det bedste man kan gøre.

Check f.eks. én eller flere tidsservere på Internettet. Får du svar fra
mindst én af dem, ja, okay, så må man antage at der er "hul igennem".

-------
Tomas



Wormie (29-04-2001)
Kommentar
Fra : Wormie


Dato : 29-04-01 10:43

> Er der nogen der ved hvordan man i VB checker om man er på internettet.
Skal det bruges til modem opkobling eller anden opkobling?

mvh

David



Bjarke Walling Peter~ (29-04-2001)
Kommentar
Fra : Bjarke Walling Peter~


Dato : 29-04-01 16:31

Wormie <Wormie_dk@hotmail.com> skrev i en
nyhedsmeddelelse:988533755.925731@angua.skjoldhoej.dk...
> > Er der nogen der ved hvordan man i VB checker om man er på internettet.
> Skal det bruges til modem opkobling eller anden opkobling?

Bare generelt... Det kunne på en måde være smart nok bare at checke om der
er adgang til en eller anden server jeg kender til, men problemet er at den
automatisk kommer op med en koble-på-internettet-boks (hvis man har en
modemforbindelse).

> mvh
>
> David
>
>





\(¯`·.¸¸.-=[ WebTime~ (30-04-2001)
Kommentar
Fra : \(¯`·.¸¸.-=[ WebTime~


Dato : 30-04-01 08:33

'If you are designing a project which can use an Internet connection,
'it can be useful to know whether the system is connected or not. There are
various methods of doing this,
'however the most informative and reliable method is to use the WinInet.DLL
'InternetGetConnectedStateEx() API call. The only problem with this call is
it is only implemented for the WinInet.DLL
'version shipped with Internet Explorer version 4.0 or higher.

'To test out this function, start a new project and add the following code:

Public Declare Function InternetGetConnectedStateEx Lib "wininet.dll" Alias
"InternetGetConnectedStateExA" _
(ByRef lpdwFlags As Long, _
ByVal lpszConnectionName As String, _
ByVal dwNameLen As Long, _
ByVal dwReserved As Long _
) As Long

Public Enum EIGCInternetConnectionState
INTERNET_CONNECTION_MODEM = &H1&
INTERNET_CONNECTION_LAN = &H2&
INTERNET_CONNECTION_PROXY = &H4&
INTERNET_RAS_INSTALLED = &H10&
INTERNET_CONNECTION_OFFLINE = &H20&
INTERNET_CONNECTION_CONFIGURED = &H40&
End Enum

Public Property Get InternetConnected( _
Optional ByRef eConnectionInfo As EIGCInternetConnectionState, _
Optional ByRef sConnectionName As String _
) As Boolean
Dim dwFlags As Long
Dim sNameBuf As String
Dim lR As Long
Dim iPos As Long
sNameBuf = String$(513, 0)
lR = InternetGetConnectedStateEx(dwFlags, sNameBuf, 512, 0&)
eConnectionInfo = dwFlags
iPos = InStr(sNameBuf, vbNullChar)
If iPos > 0 Then
sConnectionName = Left$(sNameBuf, iPos - 1)
ElseIf Not sNameBuf = String$(513, 0) Then
sConnectionName = sNameBuf
End If
InternetConnected = (lR = 1)
End Property



'To try out the code, add a CommandButton and a Multi-Line TextBox to your
test project's
'main form. Then add the following code to try the function:


Private Sub Command1_Click()
Dim eR As EIGCInternetConnectionState
Dim sMsg As String
Dim sName As String
Dim bConnected As Boolean

' Determine whether we have a connection:
bConnected = InternetConnected(eR, sName)

' The connection state info parameter provides details
' about how we connect:
If (eR And INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM Then
sMsg = sMsg & "Connection uses a modem." & vbCrLf
End If
If (eR And INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN Then
sMsg = sMsg & "Connection uses LAN." & vbCrLf
End If
If (eR And INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY Then
sMsg = sMsg & "Connection is via Proxy." & vbCrLf
End If
If (eR And INTERNET_CONNECTION_OFFLINE) = INTERNET_CONNECTION_OFFLINE
Then
sMsg = sMsg & "Connection is Off-line." & vbCrLf
End If
If (eR And INTERNET_CONNECTION_CONFIGURED) =
INTERNET_CONNECTION_CONFIGURED Then
sMsg = sMsg & "Connection is Configured." & vbCrLf
Else
sMsg = sMsg & "Connection is Not Configured." & vbCrLf
End If
If (eR And INTERNET_RAS_INSTALLED) = INTERNET_RAS_INSTALLED Then
sMsg = sMsg & "System has RAS installed." & vbCrLf
End If

' Display the connection name and info:
If bConnected Then
Text1.Text = "Connected: " & sName & vbCrLf & vbCrLf & sMsg
Else
Text1.Text = "Not Connected: " & sName & vbCrLf & vbCrLf & sMsg
End If

End Sub

'Run the project. When you click the command button, the text box will be
updated with the status
'of the current connection, the name of RAS dial-up connection used (if
applicable) and also various
'information about how the connection is being achieved (i.e. by modem or
LAN, via a proxy and whether
'the connection is configured or not).
----------------------------------------------------------------------------
------------------------------
Hilsen http://webtime.adr.dk
----------------------------------------------------------------------------
------------------------------
"Bjarke Walling Petersen" <bwp@bwp.dk> skrev i en meddelelse
news:9ceo1e$u6u$1@news.cybercity.dk...
> Hej...
>
> Er der nogen der ved hvordan man i VB checker om man er på internettet.
Før
> hen har jeg brugt WinSock til at finde IP-adressen og kontrolleret om den
> var 127.0.0.1 (i så fald gik jeg ud fra at computeren ikke var på
> internettet)...
> Men jeg har fundet ud af at man ikke behøver at have ip 127.0.0.1, selvom
> man ikke er på internettet.
> Hvad gør man?
>
> - Bjarke Walling
>
>



Bjarke Walling Peter~ (30-04-2001)
Kommentar
Fra : Bjarke Walling Peter~


Dato : 30-04-01 16:25

(¯`·.¸¸.-=[ WebTime ]=-.¸¸.·´¯) <jhdata@adr.dk> skrev i en
nyhedsmeddelelse:Ny8H6.3849$Iq.465886@news101.telia.com...
> 'If you are designing a project which can use an Internet connection,
> 'it can be useful to know whether the system is connected or not. There
are
> various methods of doing this,
> 'however the most informative and reliable method is to use the
WinInet.DLL
> 'InternetGetConnectedStateEx() API call. The only problem with this call
is
> it is only implemented for the WinInet.DLL
> 'version shipped with Internet Explorer version 4.0 or higher.

When somebody installs my program, can't I just make the installation
install the wininet.dll too... or is there so many files, that it would be
easier installing IE4?
Anyway... thanks a lot for the code (it works great, if you declare the
dll-function as Private instead of Public)!

- Bjarke Walling

> 'To test out this function, start a new project and add the following
code:
>
> Public Declare Function InternetGetConnectedStateEx Lib "wininet.dll"
Alias
> "InternetGetConnectedStateExA" _
> (ByRef lpdwFlags As Long, _
> ByVal lpszConnectionName As String, _
> ByVal dwNameLen As Long, _
> ByVal dwReserved As Long _
> ) As Long
>
> Public Enum EIGCInternetConnectionState
> INTERNET_CONNECTION_MODEM = &H1&
> INTERNET_CONNECTION_LAN = &H2&
> INTERNET_CONNECTION_PROXY = &H4&
> INTERNET_RAS_INSTALLED = &H10&
> INTERNET_CONNECTION_OFFLINE = &H20&
> INTERNET_CONNECTION_CONFIGURED = &H40&
> End Enum
>
> Public Property Get InternetConnected( _
> Optional ByRef eConnectionInfo As EIGCInternetConnectionState, _
> Optional ByRef sConnectionName As String _
> ) As Boolean
> Dim dwFlags As Long
> Dim sNameBuf As String
> Dim lR As Long
> Dim iPos As Long
> sNameBuf = String$(513, 0)
> lR = InternetGetConnectedStateEx(dwFlags, sNameBuf, 512, 0&)
> eConnectionInfo = dwFlags
> iPos = InStr(sNameBuf, vbNullChar)
> If iPos > 0 Then
> sConnectionName = Left$(sNameBuf, iPos - 1)
> ElseIf Not sNameBuf = String$(513, 0) Then
> sConnectionName = sNameBuf
> End If
> InternetConnected = (lR = 1)
> End Property
>
>
>
> 'To try out the code, add a CommandButton and a Multi-Line TextBox to your
> test project's
> 'main form. Then add the following code to try the function:
>
>
> Private Sub Command1_Click()
> Dim eR As EIGCInternetConnectionState
> Dim sMsg As String
> Dim sName As String
> Dim bConnected As Boolean
>
> ' Determine whether we have a connection:
> bConnected = InternetConnected(eR, sName)
>
> ' The connection state info parameter provides details
> ' about how we connect:
> If (eR And INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM Then
> sMsg = sMsg & "Connection uses a modem." & vbCrLf
> End If
> If (eR And INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN Then
> sMsg = sMsg & "Connection uses LAN." & vbCrLf
> End If
> If (eR And INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY Then
> sMsg = sMsg & "Connection is via Proxy." & vbCrLf
> End If
> If (eR And INTERNET_CONNECTION_OFFLINE) = INTERNET_CONNECTION_OFFLINE
> Then
> sMsg = sMsg & "Connection is Off-line." & vbCrLf
> End If
> If (eR And INTERNET_CONNECTION_CONFIGURED) =
> INTERNET_CONNECTION_CONFIGURED Then
> sMsg = sMsg & "Connection is Configured." & vbCrLf
> Else
> sMsg = sMsg & "Connection is Not Configured." & vbCrLf
> End If
> If (eR And INTERNET_RAS_INSTALLED) = INTERNET_RAS_INSTALLED Then
> sMsg = sMsg & "System has RAS installed." & vbCrLf
> End If
>
> ' Display the connection name and info:
> If bConnected Then
> Text1.Text = "Connected: " & sName & vbCrLf & vbCrLf & sMsg
> Else
> Text1.Text = "Not Connected: " & sName & vbCrLf & vbCrLf & sMsg
> End If
>
> End Sub
>
> 'Run the project. When you click the command button, the text box will be
> updated with the status
> 'of the current connection, the name of RAS dial-up connection used (if
> applicable) and also various
> 'information about how the connection is being achieved (i.e. by modem or
> LAN, via a proxy and whether
> 'the connection is configured or not).
> --------------------------------------------------------------------------
--
> ------------------------------
> Hilsen http://webtime.adr.dk
> --------------------------------------------------------------------------
--
> ------------------------------
> "Bjarke Walling Petersen" <bwp@bwp.dk> skrev i en meddelelse
> news:9ceo1e$u6u$1@news.cybercity.dk...
> > Hej...
> >
> > Er der nogen der ved hvordan man i VB checker om man er på internettet.
> Før
> > hen har jeg brugt WinSock til at finde IP-adressen og kontrolleret om
den
> > var 127.0.0.1 (i så fald gik jeg ud fra at computeren ikke var på
> > internettet)...
> > Men jeg har fundet ud af at man ikke behøver at have ip 127.0.0.1,
selvom
> > man ikke er på internettet.
> > Hvad gør man?
> >
> > - Bjarke Walling
> >
> >
>
>





Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste