VFP怎样调用WSOCK32.DLL的gethostbyname()函数获得IP地址
我想要通过下面的代码取得域名的IP地址,但是得到的IP地址是0.0.0.0,到底是哪里出错了。
DECLARE INTEGER gethostbyname in WSOCK32 String
DECLARE INTEGER WSAStartup IN ws2_32 INTEGER,STRING @
DECLARE INTEGER WSACleanup IN ws2_32
#DEFINE WSADATA_SIZE 398
#DEFINE WS_VERSION 0x202
uHostName='www.163.com'
cWSADATA=Repli(Chr(0),WSADATA_SIZE)
WSAStartup(WS_VERSION, @cWSADATA)
ret=gethostbyname(uHostName)
n=AT(uHostName,SYS(2600,ret,WSADATA_SIZE))
IPDATA=SUBSTR(SYS(2600,ret,WSADATA_SIZE),n-4,4)
uIpStr=''
FOR i=1 TO 4
uIpStr=uIpStr+ALLTRIM(STR(ASC(SUBSTR(IPDATA,i,1))))+'.'
ENDF
WSACleanup()
MESSAGEBOX('IP地址:'+LEFT(uIpStr,LEN(uIpStr)-1))