甩分啦,请教高手,如何用delphi来获取公网ip??
解决方案 »
- TThread类中 ping 资源的释放
- 倾囊送分,ReportBuilder问题,跪求高手作答
- 我退出程序了,为什么还会显示在进程中,怎么释放啊...谢谢...
- 关于ADOQuery使用中一个密码验证得问题!~
- 新丁报到,各位请多指教!散分!
- Access+Delphi中的模糊查询问题?
- 请问谁知道哪里有可以将.rm 文件转换成.avi文件的工具,在线等!
- 如何将listview中的数据打印出来?谢谢!解决马上给分!
- 代码区,数据区,堆,栈?
- DELPHI 中如何控制动态创建的控件
- 在主窗口中,永远只允许存在一个MDI子窗口,怎么办?
- 如何判断一个字段的存在(在adodataset,adoquery或adotable中)
用delphi 执行保存获得的记录
谁知道那个是共网IP?
看看,或许有用
type
TaPInAddr = array [0..100] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe : PHostEnt;
pptr : PaPInAddr;
Buffer : array [0..63] of char;
I : Integer;
GInitData : TWSADATA;
begin
List.Clear;
WSAStartup($101, GInitData);
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
List.Add(StrPas(inet_ntoa(pptr^[I]^)));
Inc(I);
end;
WSACleanup;
end
不过我试了试,显示的不是公网ip
这是取得本机所有IP
我也不知道共网IP怎么判断
没有注意过
可不可以试试?
好像只是取得本机内网ip
ok了,成功了,
但是现在有一个问题,为什么在公司的机子上只能显示本机的内网ip,并不显示公网ip
可是在家又试了一下,却可以把本机的所有ip都能显示出来。
请执教~~
谢谢了
一个是路由连接,另外一个是EnterNet 500 ,利用 ppp 连接。初学者,请高手们指教!不胜感激~~~~~~
http://community.csdn.net/Expert/topic/3140/3140145.xml?temp=.4623834