我是一个使用ADSL的用户,如何获得我的ip地址呢?

visc 2002-03-27 12:16:13
在DHCP环境下,如何获得ip地址呢?
...全文
105 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
My_first 2002-03-27
  • 打赏
  • 举报
回复
如果你直接在windows下的ms-dos下用命令ipconfig就会显示出来了。

如果用程序

获得本地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^[I] <> nil do begin
result:=StrPas(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;


来自:redgum, 时间:2001-8-30 20:40:00, ID:609598
(ipconfig) or (winipcfg)


来自:飞来石, 时间:2001-9-3 21:24:00, ID:610641
uses Winsock;


...


function getIPs: TStrings;

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:=TStringList.Create;

Result.Clear;

GetHostName(Buffer

SizeOf(Buffer));

phe := GetHostByName(buffer);

if phe = nil then

begin

Exit;

end;

pPtr := PaPInAddr(phe^.h_addr_list);

I := 0;

while pPtr^[I] <> nil do

begin

Result.Add(inet_ntoa(pptr^[I]^));

Inc(I);

end;

WSACleanup;

end;



procedure TForm1.Button1Click(Sender: TObject);

begin

memo1.Lines:=GetIps;

end;


ntserver4 2002-03-27
  • 打赏
  • 举报
回复
用API的GetHostName函数,具体请看帮助文件或搜索CSDN以前的贴子
ggdw 2002-03-27
  • 打赏
  • 举报
回复
直接用winexec调用winipcfg不就得了。

huangcf 2002-03-27
  • 打赏
  • 举报
回复
直接用winexec调用winipcfg不就得了。
黑兵 2002-03-27
  • 打赏
  • 举报
回复
呵,还不如winipcfg.exe方便

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧