VB中检测是否连网 (2000年8月4日)
本站更新 分类: 作者:逸仙时空 推荐: 阅读次数:512
(http://www.codesky.net)
--------------------------------------------------------------------------------
2000-07-28· -·
利用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 if
end sub