pb中获得本机IP地址的另一个方法
一般人多用run("regsvr32 /s MSWINSCK.OCX")注册后,利用这个控件,获得包括IP地址在内的本机各种信息。
大江大河演员表这里介绍的是  利用访问注册表的方法,来获得本机的IP地址。因为没有利用别人的控件,程序更“独立”了。
GetEnvironment(ge_env)
CHOOSE CASE ge_env.OSType
//aix!, hpux!, macintosh!, osf1!, sol2!, windows!, wondowsnt!
CASE Windows!
gs_OStype = "Windows"
CASE WindowsNT!
gs_OStype = "WindowsNT"
端午放假几天
CASE ELSE
gs_OStype = "Other" 
END CHOOSE
//使用注册表取本机IP地址
String ls_value = ""
String subkeys[]
CHOOSE CASE gs_OStype
CASE 'Windows'
String skey = 'HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans'
String sname = 'IPAddress'
Int i
String skey1
ls_value = ''
RegistryKeys ( skey, subkeys )
IF UpperBound(subkeys) > 0 THEN
FOR i = 1 To UpperBound(subkeys)
skey1 = skey+'\'+subkeys[i]
英语四级作文模版IF RegistryGet(skey1,sname,ls_value) = 1 THEN
IF ls_value <> '0.0.0.0' THEN
EXIT
END IF
END IF
NEXT
END IF
CASE "WindowsNT"
String ls_keynt1 = 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards'
IF RegistryKeys (ls_keynt1,subkeys ) = 1 THEN
IF UpperBound(subkeys) > 0 THEN
ls_keynt1 = ls_keynt1+'\'+subkeys[1]
END IF
END IF
//bill Tcpip 可能需要查询 ls_keynt1 字段所有的子项,主要是指:最后一个项 6 在不同的机器上是不一样的
String ls_keynt2 = 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\'
String ls_keynt3 = '\Parameters\Tcpip'
String ls_name_nt1 = 'ServiceName'
南京疫情源头:保洁清扫俄入境航班String ls_name_nt2 = 'IPAddress'
String ls_name_nt3 = ''
String ls_value2[]
IF RegistryGet(ls_keynt1,ls_name_nt1,ls_value) = 1 THEN
ls_name_nt3 = ls_keynt2+ls_value+ls_keynt3
IF RegistryGet(ls_name_nt3,ls_name_nt2,RegMultiString!,ls_value2) = 1 THEN
ls_value = ls_value2[1]
ELSE
/
/  可能有多个ip地址  ls_value = ls_value2[1] + " ; " + ls_value2[2]
ls_value = ls_value2[1]演员王洋
END IF
ELSE
ls_value = ''
END IF
CASE ELSE
ls_value = ''
文科三本大学RETURN
END CHOOSE
gs_ipaddress  = ls_value