发新话题
打印

[PowerBuilder] 计算机名和IP地址

计算机名和IP地址

如何获得IP地址对应的计算机名称是什么!
如何获得计算机名对应的IP地址呢??
开始---运行  键入 CMD   在DOS 界面下  输入  ipconfig/all   就可以获得计算机名对应的IP地址
  不知道是不是回答的是否是大虾想知道的   
呵呵,又没有通用的呀!
比如API什么的呀!!
呵呵
利用ping -a 命令
好好学习,天天向上!
我的Blog

回复 #4 loveme23 的帖子

我是想实现配置局域网内(可能是广域网)的数据库配置,判断用户输入的用户名和IP相互转换的,应该怎么做呀!
可以使用API函数的
GetHostName---
GetHostByName
我也想知道怎么用!!
我也想知道这个怎么用呢
写两个函数就可以了,获得计算机名:
string ls_hostname
int i
i = registryget("HKEY_LOCAL_MACHINE\system\CurrentControlSet\Control\computername\computername"&
           ,"computername",ls_hostname)
return ls_hostname

获得ip地址:
string ls_ip_address
s_wsadata        l_WSAData
string                ls_HostName = space(128)
string                ls_IpAddress
int                li_version = 257
blob{4}         lb_hostaddress
IF wsastartup ( li_version, l_WSAData ) = 0 THEN
        IF gethostname ( ls_HostName, len(ls_HostName) ) < 0 THEN
                return 'error'
        ELSE
                GetHost(ls_hostname, lb_HostAddress)
                  if ai_mode = 1 then
                        ls_IpAddress = string(asc(string(blobmid(lb_HostAddress,1,2))),"###") + "."
                        ls_IpAddress += string(asc(string(blobmid(lb_HostAddress,2,2))),"###") + "."
                        ls_IpAddress += string(asc(string(blobmid(lb_HostAddress,3,2))),"###") + "."
                        ls_IpAddress += string(asc(string(blobmid(lb_HostAddress,4,2))),"###")
                else
                        ls_IpAddress = string(asc(string(blobmid(lb_HostAddress,1,2))),"000") + "."
                        ls_IpAddress += string(asc(string(blobmid(lb_HostAddress,2,2))),"000") + "."
                        ls_IpAddress += string(asc(string(blobmid(lb_HostAddress,3,2))),"000") + "."
                        ls_IpAddress += string(asc(string(blobmid(lb_HostAddress,4,2))),"000")
                end if
        END IF
        WSACleanup()
ELSE
        return 'error'
END IF
ls_ip_address = ls_IpAddress
return ls_ip_address
新手来学习了,
来过··看过··总得留下点什么啊 ·
用PB的话好像很复杂。。
api函数就可以得到
发新话题