根据IP取得局域网内的计算机名
Function GetNameByIP(MIP:string; var Name:string):boolean;
var
PHt:PHostEnt;
WSData: TWSAData;
i:Word;
j:integer;
k:u_long;
begin
result:=false;
i:=MAKEWORD(1,1);
if WSAStartup(i,WSData)<>0 then exit;
k:=inet_addr(PChar(MIP));
PHt:=gethostbyaddr(@k,4,PF_INET);
if PHt=nil then begin
j:=WSAGetLastError;
Name:='Error:'+inttostr(j-WSABASEERR);
end else begin
Name:=PHt.h_name;
result:=true;
end;
WSACleanup;
end;
Function GetNameByIP(MIP:string; var Name:string):boolean;
var
PHt:PHostEnt;
WSData: TWSAData;
i:Word;
j:integer;
k:u_long;
begin
result:=false;
i:=MAKEWORD(1,1);
if WSAStartup(i,WSData)<>0 then exit;
k:=inet_addr(PChar(MIP));
PHt:=gethostbyaddr(@k,4,PF_INET);
if PHt=nil then begin
j:=WSAGetLastError;
Name:='Error:'+inttostr(j-WSABASEERR);
end else begin
Name:=PHt.h_name;
result:=true;
end;
WSACleanup;
end;
解决方案 »
- 使用报表向导出现的问题
- 可不可以直接用UPDATE或INSERT直接更新长度大于256的字段值?
- 请教建立多个相同线程问题
- 很简单 的一段代码,就是不知道哪有错误,帮帮忙了
- fastreport3变量问题--在线等
- 在产生TREEVIEW中,如何给结点赋值
- 一个MDI程序中Treeview节点应用的问题?(别认为很简单,能做出效果才是高手!)
- 请问连接服务端的时候报错误“Asynchronous Socket error 10060”,是什么原因?
- DSPack开发vod应用,怎样静音与声首切换?
- ★★★救命啊!安装RxLib 2.75 for Delphi 6 V1.0之后导致Delphi 6出错,如何解决?
- help!JPG图片显示
- 如何在程序运行时用SQL语句在ACCESS数据库中利用基础表创建新表?
Function GetNameByIP(MIP:string; var Name:string):boolean;
var
PHt:PHostEnt;
WSData: TWSAData;
i:Word;
j:integer;
k:u_long;
begin
result:=false;
i:=MAKEWORD(1,1);
if WSAStartup(i,WSData)<>0 then exit;
k:=inet_addr(PChar(MIP));
PHt:=gethostbyaddr(@k,4,PF_INET);
if PHt=nil then begin
j:=WSAGetLastError;
Name:='Error:'+inttostr(j-WSABASEERR);
end else begin
Name:=PHt.h_name;
result:=true;
end;
WSACleanup;
end;
Function GetNameByIP(MIP:string; var Name:string):boolean;
var
PHt:PHostEnt;
WSData: TWSAData;
i:Word;
j:integer;
k:u_long;
begin
result:=false;
i:=MAKEWORD(1,1);
if WSAStartup(i,WSData)<>0 then exit;
k:=inet_addr(PChar(MIP));
PHt:=gethostbyaddr(@k,4,PF_INET);
if PHt=nil then begin
j:=WSAGetLastError;
Name:='Error:'+inttostr(j-WSABASEERR);
end else begin
Name:=PHt.h_name;
result:=true;
end;
WSACleanup;
end;
1。gethostname(char *,int)
2。windows.getcomputername()