如何将局域网中所有的计算机的ip地址以及名称取出?送高分
解决方案 »
- fastreport4汉字显示问题
- vc做的ocx参数是 long* 数组,在delphi中参数定义为 var pData:Integer 我如何传递参数?
- 如何隐藏子窗体?【简单问题,在线立等给分】
- 天理何在?河北凯华软件公司还我们血汗钱?维护程序员的合法权益!
- 注册表写入问题??/
- ****请都在delphi中如何获取IIS中的web站点****
- 请问各位大侠在连接sql server数据库时如何屏蔽掉验证窗口
- 江湖救急!一个关于ExpressBar的严重问题!
- 一个带批号商品库存冲减问题,请各位帮忙分析一下?
- 高手们,请帮帮忙,Report 的问题?
- 想请人帮忙!
- Delphi7做的程序,打包做安装盘,哪里可以下到可用installshield?
//获得局域网内IP地址的机器名,只对网络设置设为允许其它人使用我的机子的机器有效
var
pH : PHostent;
data : twsadata;
ii : dword;
begin
WSAStartup($101, Data);
ii := inet_addr(pchar(ip));
pH := gethostbyaddr(@ii, sizeof(ii), PF_INET);
if (ph <> nil) then
result := pH.h_name
else
begin
result := '未知的计算机';
end;
WSACleanup;
end;你可以在程序中将局域网中的IP地址用循环从这个函数过一遍,
(因为一般情况下一局域网内部的IP地址都是设成同一域的,
用循环应该不会慢,只要你的机子不是什么286、386的)
然后把得到的机器名都保存起来就行了。