打印本文 打印本文 关闭窗口 关闭窗口
VB中检测是否连网
作者:武汉SEO闵涛  文章来源:敏韬网  点击数727  更新时间:2009/4/23 14:58:00  文章录入:mintao  责任编辑:mintao
  利用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,lpcba

ta)

lpcbData=Len(lpData)

ReturnCode=RegQueryValueEx(hKey,lpValueName,lpReserved,lpType,ByVal lpData,lpcba

ta)



if ReturnCode=ERROR-SUCCESS then

if lpData=0 then

ActiveConnection=false

else

ActiveConnection=True

end if

end if

RegCloseKey(hKey)

end if

end funtion



2.新建窗体

priate sub Command1-click()

if ActiveConnection=True then

msgbox "OK!"

else

msgbox "ERROR!"

end sub

打印本文 打印本文 关闭窗口 关闭窗口