怎么利用对方的计算机名来得到计算机名IP 地址? 请各位高手指教.( 给出一点程序代码. 谢谢)
解决方案 »
- 求赐教delphi如何将word保存至sql2005啊
- cxgrid多线程如何操作?
- 怎么实现在一个窗口下的同一个edit 和 combobox 输入条件下查询不同格式的报表?
- 我用delphi写了dll,想初始化一个全局的对象,然后dll退出时,能够销毁这个变量。请问怎么办
- pagecontrol控制mdi子窗体的问题
- 请问如何动态创建数据库及表?
- 如何将ScktSrvr中的连接信息传递到自己开发的中间服务器里边
- 如何在程序中控制另外一个软件的操作???
- 100分求教 exitthread的用法。在线等待,立即给分。
- 暂时不使用Delphi一段时间!大逆不道的家伙!开始散分
- 简单问题,关于类型定义,来者有分,在线等............
- 关于Free的问题
过程如下:
function HostToIP(Name: string; var Ip: string): Boolean;
var
wsdata : TWSAData;
hostName : array [0..255] of char;
hostEnt : PHostEnt;
addr : PChar;
begin
WSAStartup ($0101, wsdata);
try
gethostname (hostName, sizeof (hostName));
StrPCopy(hostName, Name);
hostEnt := gethostbyname (hostName);
if Assigned (hostEnt) then
if Assigned (hostEnt^.h_addr_list) then begin
addr := hostEnt^.h_addr_list^;
if Assigned (addr) then begin
IP := Format ('%d.%d.%d.%d', [byte (addr [0]),
byte (addr [1]), byte (addr [2]), byte (addr [3])]);
Result := True;
end
else
Result := False;
end
else
Result := False
else begin
Result := False;
end;
finally
WSACleanup;
end
end;
var
WSAData: TWSAData;
HostEnt: PHostEnt;
sComputerName, sIP: string;
begin
sComputername:=edit1.text;
WSAStartup(2, WSAData);
HostEnt := gethostbyname(PChar(sComputerName));
if HostEnt <> nil then
begin
with HostEnt^ do
sIP := Format('%d.%d.%d.%d', [Byte(h_addr^[0]), Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]); end;
WSACleanup;
edit2.text:=sIP;
end;注意:必须在uses单元里加入winsock.
测试过是不错!!!!!!!!