如何得到本地计算机的名字和ip地址(100分)

  • 主题发起人 主题发起人 牛龙
  • 开始时间 开始时间

牛龙

Unregistered / Unconfirmed
GUEST, unregistred user!
如题。
谢谢
 
您老可以去当一个 Tsysinfo 控件(比如在DELphi 深度力险中)
或着读注册表。
 
Xixi, you can use Winsocket function:
gethostname,, to get your machine name
then gethostbyname, pass your hostname to it,
you can get all ip address from the result of this function. (If
you have many netcard, or be a multihome machine
like NT)
 
Sample code here:


// Get host address
char Buffer[64];
HOSTENT FAR *pHost;
CString sIPAddress;

gethostname(Buffer, 64);
pHost = gethostbyname(Buffer);
sIPAddress = inet_ntoa(*(struct in_addr*)pHost->h_addr_list[0]);

// If have many ip address, then
// look h_addr_list[1], etc, until encounter a NULL pointer

 
取得本地计算机的名字:
Windows 95 API: GetComputerName
题外话:取得本地登录用户名:GetUserName

取得本地ip地址(转贴):
function LocalIP : string;
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^ <> nil do begin
result:=StrPas(inet_ntoa(pptr^^));
Inc(I);
end;
WSACleanup;
end;
 
Randolph大侠真牛.小弟在此谢过了.
顺便问一问象这种比较深层的东东,如何学习啊.
如何掌握深入delphi的编程啊?望给我提一点建议.
谢谢
 
推荐书籍:
《Delphi 2程序设计大全》机械工业出版社,RMB133.00
《Windows 95 API开发人员指南》机械工业出版社,RMB74.00

记得通知版主给我加分啊!
 
对于Randolph的代码还要引用一个单元WinSock。
 
后退
顶部