تشخیص اتصال به اینترنت در Vb

mahdi-vb

Member
سلام دوستان
برنامه های مثل Yahoo رو دیدن که تا به اینترنت متصل میشیم ! شروع میکنن به لاگین کردن در واقع اون ها تشخیص میدن که ایا سیستم به اینترنت متص هست یا نه ! اگه میشه توضیح بدین چه جوری میشه تو پروژه ها این کار رو بکنیم فکنم با API بشه
 

the_king

مدیرکل انجمن
کد:
Private Const RAS_MAXDEVICETYPE As Long = 16
Private Const RAS_MAXDEVICENAME As Long = 128
Private Const RAS_MAXENTRYNAME As Long = 256
Private Const RAS_RASCONNSIZE As Long = 412
Private Const RASCS_DONE As Long = &H2000

Private Type RasConn
    dwSize As Long
    hRasConn As Long
    szEntryName(RAS_MAXENTRYNAME) As Byte
    szDeviceType(RAS_MAXDEVICETYPE) As Byte
    szDeviceName(RAS_MAXDEVICENAME) As Byte
End Type

Private Type RASCONNSTATUS
    dwSize As Long
    RasConnState As Long
    dwError As Long
    szDeviceType(RAS_MAXDEVICETYPE) As Byte
    szDeviceName(RAS_MAXDEVICENAME) As Byte
End Type

Private Declare Function RasEnumConnections Lib "rasapi32.dll" Alias "RasEnumConnectionsA" (lpRasConn As Any, lpcb As Long, lpcConnections As Long) As Long
Private Declare Function RasGetConnectStatus Lib "rasapi32.dll" Alias "RasGetConnectStatusA" (ByVal hRasConn As Long, lprasconnstatusa As Any) As Long

Private Function [B]IsOnline[/B]() As Boolean
    Dim Status As RASCONNSTATUS
    Dim Index As Long
    Dim lpRasConn(255) As RasConn
    Dim lpcb As Long
    Dim lpcConnections As Long
    Status.dwSize = 160
    lpRasConn(0).dwSize = RAS_RASCONNSIZE
    lpcb = RAS_MAXENTRYNAME * lpRasConn(0).dwSize
    If RasEnumConnections(lpRasConn(0), lpcb, lpcConnections) = 0 Then
        For Index = 0 To lpcConnections - 1
            RasGetConnectStatus lpRasConn(Index).hRasConn, Status
            If Status.RasConnState = RASCS_DONE Then
                IsOnline = True
                Exit For
            End If
        Next
    End If
End Function

Private Sub Form_Load()
    MsgBox [B]IsOnline[/B]
End Sub

تابع IsOnline می تواند دسترسی به اینترنت را بررسی کند. اگر Online باشید مقدار True و در غیر اینصورت False را
برمی گرداند.
 

جدیدترین ارسال ها

بالا