一个老问题,如何获得全部的IP地址,包括拨号地址,网卡地址(50分)

  • 主题发起人 主题发起人 秋风萧萧
  • 开始时间 开始时间

秋风萧萧

Unregistered / Unconfirmed
GUEST, unregistred user!
一个老问题,如何获得全部的IP地址,包括拨号地址,网卡地址
例如就象window2000的ipconfig.exe
=======================================
H:/>ipconfig

Windows 2000 IP Configuration

Ethernet adapter 本地连接:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.0.8
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IP Address. . . . . . . . . . . . : 192.168.0.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :

PPP adapter 连接到 165:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 211.97.112.136
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : 211.97.112.136
===========================================

[red]以下的代码不行:只能获取网卡的地址,我的网卡有两个地址,它只认识一个[/red]
// returns ISP assigned 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;


 
深度历险有专门的控件,2个网卡的资料大富翁有讨论
 
是不是分数太少了!每人回答[:(!][:(!]
 
知道答案,还是自己研究好
嗨呀,人老了,连脑子都懒的动
便宜zjlcc[:)][:)]
 
把结果公布一下吗
 
后退
顶部