線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1116
推到 Plurk!
推到 Facebook!

怎样通过地址来获取电脑机器名称?

答題得分者是:deity
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-10 13:55:06 IP:218.0.xxx.xxx 未訂閱
我用"ping -a 192.168.0.1"可以得到电脑机器名,但怎样把这机器名放到delphi中某个变数中去呢?不胜感激之至!
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-10 15:50:52 IP:218.15.xxx.xxx 未訂閱
您好:也即根据IP得到其机器名?可参考:http://delphi.ktop.com.tw/topic.php?topic_id=21111
 function IPAddrToName(IPAddr: string): string; 
//函数返回值就是机器名
var
  SockAddrIn: TSockAddrIn;
  HostEnt: PHostEnt;
  WSAData: TWSAData;
begin
  WSAStartup($101, WSAData);
  SockAddrIn.sin_addr.s_addr := inet_addr(PChar(IPAddr));
  HostEnt := gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
  if HostEnt <> nil then
    Result := StrPas(Hostent^.h_name)
  else
    Result := '';
end;
//测试
procedure TForm1.Button2Click(Sender: TObject);
begin
  Edit2.Text:=IPAddrToName('192.168.0.1');
end;
============================ 为什么经过多年以后,得失的过程如此冷漠 ============================
系統時間:2024-11-22 23:28:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!