您的位置:首页 > 理论基础

获取本地计算机的名称和IP地址

2008-10-13 12:54 218 查看
uses WinSock;

function Pub_GetComputerName: string; {计算机名}

var

CNameBuffer: PChar;

fl_loaded: Boolean;

CLen: ^DWord;

begin

result := '';

GetMem(CNameBuffer, 255);

New(CLen);

CLen^ := 255;

fl_loaded := GetComputerName(CNameBuffer, CLen^);

if fl_loaded then

result := StrPas(CNameBuffer)

else

result := 'Unkown';

FreeMem(CNameBuffer, 255);

Dispose(CLen);

end;

function Pub_LocalIP: string; {获取IP}

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 := '';

GetHostName(Buffer, SizeOf(Buffer));

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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐