[ Csharp @ 03.11.2005. 07:38 ] @
Pozdrav svima!


Opet ja sa čudnim pitanjima! :)


Naime radim program koji bi mi s vremena na vrijeme (ovisi o postavkama) gledao na net-u da li postoji nova verzija programa! Ako postoji, naravno skinuo bi nove dll-ove,... Dakle jedna vrsta upgrade-a! No međutim, problem je što ne znam da li uopće postoji internet konekcija, odnosno da li je korisnik online! E sada, ako netko nešto zna o tome bio bih zahvalan! Dakle, zanima me samo provjera da li postoji internet konekcija i da li je online!? :)
[ Csharp @ 03.11.2005. 07:55 ] @
Rješenje nakon googlanja :) :

using System ;
using System.Runtime ;
using System.Runtime.InteropServices ;

public class InternetCS
{

//Creating the extern function...
[DllImport("wininet.dll")]
private extern static bool InternetGetConnectedState( out int Description, int ReservedValue ) ;

//Creating a function that uses the API function...
public static bool IsConnectedToInternet( )
{

int Desc ;
return InternetGetConnectedState( out Desc, 0 ) ;

}

}
[ Oliver Klaćik @ 21.11.2005. 10:01 ] @
Ima drugi način da se to reši, jer navodno ta Windows-ova funkcija nije 100% pouzdana, tj. zavisi od podešavanj IE-a. Evo koda (nema veze što je VB):
Code:

    Public Function IsConnectionAvailable() As Boolean
        ' Returns True if connection is available 
        Dim objUrl As New System.Uri("http://www.yoursite.com/")
        ' Setup WebRequest
        Dim objWebReq As System.Net.WebRequest
        objWebReq = System.Net.WebRequest.Create(objUrl)
        Dim objResp As System.Net.WebResponse
        Try
            ' Attempt to get response and return True
            objResp = objWebReq.GetResponse
            objResp.Close()
            objWebReq = Nothing
            Return True
        Catch ex As Exception
            ' Error, exit and return False
            objWebReq = Nothing
            Return False
        End Try
    End Function