请问各位大侠!请问如何获取本机的IP地址?急!
解决方案 »
- 使用Comobj.RegisterComServer登记了个Dll文件,请问取消登记应该用哪个函数或其他办法?
- 类似于软件搜索的程序用什么通信比较好
- 请问:TDBText连接的数据是0.125显示成12.5%怎样实现呀?
- 如何將一個目錄下的所有文件名稱抓取放到一個數組中并按名稱自動排序?
- 怎么让一个程序的窗体都很漂亮呢?关于UI!分不够加
- dbgrid中加入下拉列表
- fastreport分栏问题
- 请教如何建立access多重索引表啊???
- 在线等有关TClientDataSet更新后台数据库的问题
- 不知道大家注意到没有,Delphi 5.0比4.0更容易死机!
- 哪位有cxGrid的中文说明书
- 问个数据库开发的问题,很急
//参数InternetIP为true则取得InternetIP地址,否则为网卡地址
Function GetLocalIp(InternetIP:boolean):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;
IP: String;
begin
Screen.Cursor := crHourGlass;
try
WSAStartup($101, GInitData);
IP:='0.0.0.0';
GetHostName(Buffer, SizeOf(Buffer));
phe := GetHostByName(buffer);
if phe = nil then
begin
ShowMessage(IP);
Result:=IP;
Exit;
end;
pPtr := PaPInAddr(phe^.h_addr_list);
if InternetIP then
begin
I := 0;
while pPtr^[I] <> nil do
begin
IP := inet_ntoa(pptr^[I]^);
Inc(I);
end;
end
else
IP := inet_ntoa(pptr^[0]^);
WSACleanup;
Result:=IP;//如果上网则为上网ip否则是网卡ip
finally
Screen.Cursor := crDefault;
end;
end;//别忘记use winsock