怎样根据计算机名来获取计算机的IP地址?

wu_yongcai 2000-08-22 10:46:00
加精
...全文
333 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuzhiping 2001-07-10
  • 打赏
  • 举报
回复
这是我用过的一个。。。。去参改
function BrowseForComputer(const winhandle : THANDLE; const Title : string) : string;
var
BrowseInfo: TBrowseInfo;
IDRoot: PItemIDList;
Path:array[0..MAX_PATH] of Char; //被选择的计算机名
S:String;
MyHost:PHostEnt;
I:byte;
begin
S:='';
SHGetSpecialFolderLocation(winHandle, CSIDL_NETWORK , IDRoot);//获取网上邻居ID列表
ZeroMemory(@BrowseInfo, SizeOf(TBrowseInfo)); //内存清零
ZeroMemory(@path[1], MAX_PATH); //内存清零
BrowseInfo.hwndOwner := winhandle;
BrowseInfo.pidlRoot := IDRoot;
BrowseInfo.lpszTitle := PChar(Title);
BrowseInfo.pszDisplayName := @path;
BrowseInfo.ulFlags := BIF_BROWSEFORCOMPUTER;//or BIF_RETURNONLYFSDIRS
if SHBrowseForFolder(BrowseInfo)=nil then Exit;

{***以下根据计算机名获取IP地址***}
MyHost:=GetHostByName(@Path[0]);
if MyHost=nil then S:='该计算机已关闭' else
for I:=1 to 4 do S:=S+IntToStr(Ord(MyHost.h_addr^[I-1]))+'.';
Result:=Copy(S,1,Length(S)-1);
end;
tsingdaoboy 2001-06-20
  • 打赏
  • 举报
回复
Michaelyfj(迈克儿) 你好:
请问你是怎样知道这些函数和类型的,看书吗?
我是菜鸟?还望指教!
我的E_Mail:tsingdaogirl@sina.com.cn
菩提小树 2001-06-18
  • 打赏
  • 举报
回复
糟了。来迟了!
railway 2000-08-29
  • 打赏
  • 举报
回复
ping 计算机名
Michaelyfj 2000-08-22
  • 打赏
  • 举报
回复
根据计算机名得到IP地址的函数:
uses
WinSock;

function GetIPByName(AName: String): string;
type
TaPInAddr = array [0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe: PHostEnt;
pptr: PaPInAddr;
Buffer: array [0..63] of char;
I: Integer;
GInitData: TWSADATA;
begin
WSAStartup($101, GInitData);
Result := '';
StrPCopy(Buffer, AName);
phe := GetHostByName(buffer);
if phe = nil then Exit;
pptr := PaPInAddr(Phe^.h_addr_list);
I := 0;
while pptr^[I] <> nil do
begin
Result:=StrPas(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;

用法:
Ipstr := GetIPByName(ComputerName);
LaoZheng 2000-08-22
  • 打赏
  • 举报
回复
给分

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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