发新话题
打印

在VB中检测是否连网

在VB中检测是否连网

利用WIN95中的注册表建值,在注册表的HKEY-LOCAL-MACHINE\System\CurrentControlSet\Services\RemoteAcces\下,当计算机连上因特网时,Remote Connection的植为01 00 00 00,反之,为00 00 00 00,通过这一建植可判断是否连网。  

1.建立新模块  

public const ERROR-SUCCESS= 0&  
public const APINULL= 0&  
public const HKEY-LOCAL-MACHINE= &H80000002  
public ReturnCode as long  

'声明API函数  

RegCloseKey()  
RegQueryValueEx()  

'自定义函数  

public function ActiveConnection() as boolean  
dim hKey as long  
dim lpSubKey as string  
dim lpReserved as long  
dim lpType as long  
dim lpData as long  
dim lpcbData as long  

ActiveConnection=False  
lpSubKey="System\CurrentControlSet\Services\RemoteAccess"  
ReturnCode=RegOpenKey(HKEY-LOCAL-MACHINE,lpSubKey,phkResult)  
if ReturnCode=ERROR-SUCCESS then  
hKey=phkResult  
lpValueName="Remote Connection"  
lpReserved=APINULL  
lpType=APINULL  
lpData=APINULL  
lpcbData=APINULL  
ReturnCode=RegQueryValueEx(hKey,lpValueName,lpReserved,lpType,ByVal lpData,lpcbata)  
lpcbData=Len(lpData)  
ReturnCode=RegQueryValueEx(hKey,lpValueName,lpReserved,lpType,ByVal lpData,lpcbata)  
if ReturnCode=ERROR-SUCCESS then  
    if lpData=0 then  
        ActiveConnection=false  
    else  
        ActiveConnection=True  
    end if  
else
    RegCloseKey(hKey)  
end if  
end funtion  

2.新建窗体  
priate sub Command1-click()  
if ActiveConnection=True then  
    msgbox "OK!"  
else
    msgbox "ERROR!"  
end if  
end sub


大家灌啊

TOP

发新话题