如何在win9x下读取本机netbios名称和IP地址?

lixilin 2003-01-20 09:53:57
在此栏目查了半天,看到的不少,却无一能打开,所以还得请教大侠了!我找过一个源代码,却只能取得 dns name,不能取得 Lan Name,先谢谢了
...全文
75 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
june37 2003-01-21
  • 打赏
  • 举报
回复
好象我有一本书上有,帮你找找看!
lixilin 2003-01-20
  • 打赏
  • 举报
回复
谢谢楼上各位兄弟!!
warton 2003-01-20
  • 打赏
  • 举报
回复
老贴子中有很多
yuyulily 2003-01-20
  • 打赏
  • 举报
回复
AnsiString IP;
HOSTENT *lpHostEnt=gethostbyname(HostName);
for (int i=0; lpHostEnt->h_addr_list[i]!=NULL; i++)
{
IN_ADDR *p=(IN_ADDR *)(lpHostEnt->h_addr_list[i]);
IP=inet_ntoa(*p);
}
WSACleanup();
netsys2 2003-01-20
  • 打赏
  • 举报
回复
char HostName[80];
// 得到本主机名
if (gethostname(HostName,sizeof(HostName)) == SOCKET_ERROR)
{
MessageBox(NULL,"Can't getting local host name.","Error",MB_OK);
return;
}
nxyc_twz 2003-01-20
  • 打赏
  • 举报
回复
AnsiString GetLocalIP()
{
//返回本机IP地址
AnsiString IP;
unsigned char *IPAddr;
char Buffer[64];
TWSAData GInitData;
hostent *HostEnt;
AnsiString LocalIP = "";

try
{
WSAStartup(2, &GInitData);
gethostname(Buffer, sizeof(Buffer));
HostEnt = gethostbyname(Buffer);
if(HostEnt == NULL)return LocalIP;
IPAddr = HostEnt->h_addr;
char temp1[10];
sprintf(temp1,"%3d.%3d.%3d.%3d",IPAddr[0],IPAddr[1],IPAddr[2],IPAddr[3]);
IP = temp1;
LocalIP = IP;
}
catch(...)
{
WSACleanup();
}
return LocalIP;
}
lixilin 2003-01-20
  • 打赏
  • 举报
回复
这种方法仍是取得DNS NAME,不是Netbios计算机名?假如读注册表可以吗?

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧