关于:"获取远程机的名字"
李过 在 00-8-21 15:54:15 提供了如下回答, 请您查阅和评估:
-----------------------------------------------------------------------------
请运行下面的测试程序,edit1.text填写IP地址,比如“202.101.xx.xx”,然后
点button,然后edit2会显示该IP对应的机器域名。要想获得更加多的信息可以对返回的phe结构做更多解析。
另外,这样好象不可以获得机器名字.是否还要建立socket来调用别的一些函数才可以完成获取机器工作组和名字等其他的功能呢?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,winsock;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
function remotename : string;
var
phe : PHostEnt;
GInitData : TWSADATA;
netaddr:u_long;
begin
WSAStartup($101, GInitData);
Result := '';
netaddr:=inet_addr(Pchar(form1.edit1.text));
phe:=GetHostbyaddr(pchar(@netaddr),30,0);
result:=strpas(phe.h_name);
WSACleanup;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit2.text:=remotename;
end;
end.
-----------------------------------------------------------------------------
该问题的URL是:http://www.gislab.ecnu.edu.cn/delphibbs/dispq.asp?LID=292504
目前您已经获得积分 3213 分, 专家分 2795 分。欢迎经常光顾,争取上大富翁排行榜。
大富翁论坛(http://www.gislab.ecnu.edu.cn/delphibbs)