會員登錄 - 用戶注冊 - 網(wǎng)站地圖 Office中國(office-cn.net),專業(yè)Office論壇
當前位置:主頁 > 技巧 > Access技巧 > API > 正文

Access VBA 判斷網(wǎng)絡是否連通的多種辦法(函數(shù)源碼)

時間:2013-11-08 17:40 來源:ffice中國 作者:網(wǎng)絡 閱讀:
VB 利用gethostbyname判斷網(wǎng)絡是否連接

GetHostbyName API可獲取域名對應的IP地址,當沒有聯(lián)網(wǎng)狀態(tài)將會返回一個錯誤值。所以可利用它來判斷是否聯(lián)網(wǎng)。
Private Sub Form_Load()
    If IsConnectedState Then
        MsgBox "連接網(wǎng)絡"
    Else
        MsgBox "沒有聯(lián)網(wǎng)"
    End If
End Sub

Option Explicit

Private Type WSADATA
    wversion As Integer
    wHighVersion As Integer
    szDescription(0 To 256) As Byte
    szSystemStatus(0 To 128) As Byte
    iMaxSockets As Integer
    iMaxUdpDg As Integer
    lpszVendorInfo As Long
End Type

Private Declare Function WSAStartup Lib "WSOCK32.DLL" (ByVal wVersionRequired As Integer, lpWSAData As WSADATA) As Long
Private Declare Function WSACleanup Lib "WSOCK32.DLL" () As Long
Private Declare Function gethostbyname Lib "WSOCK32.DLL" (ByVal szHostname As String) As Long
Private Const WS_VERSION_REQD = &H101

Public Function IsConnectedState() As Boolean
    Dim udtWSAD As WSADATA
    Call WSAStartup(WS_VERSION_REQD, udtWSAD)
    IsConnectedState = CBool(gethostbyname("www.baidu.com"))
    Call WSACleanup
End Function


------------------------------------------------------
如果程序在聯(lián)網(wǎng)處理之前能先自動判斷用戶是否已經(jīng)聯(lián)網(wǎng),就可提高程序運行效率。 
 
Private Sub Form_Load() 
 If IsConnected = TRUE Then 
  MsgBox (“您已經(jīng)連通了Internet!”) 
 End If 
 If IsConnected = FALSE Then 
  MsgBox (“您還沒有連通 Internet!”) 
 End If 
End Sub 
 
  
Option Explicit 
/*有關的API聲明和定義*/ 
Public Declare Function RasEnumConnections Lib “RasApi32.dll” Alias “RasEnumConnectionsA” (lpRasCon As Any, lpcb As Long, lpcConnections As Long) As Long 

(責任編輯:admin)

頂一下
(2)
100%
踩一下
(0)
0%
發(fā)表評論
請自覺遵守互聯(lián)網(wǎng)相關的政策法規(guī),嚴禁發(fā)布色情、暴力、反動的言論。
評價: