我想用API函数gethostbyname通过计算机名获得局域网中的计算机IP地址,看起来很简单可一运行发现输入我的计算机名能够获取到IP地址,但不能根据局域网中计算机名获取相应的IP地址,这是为啥?请各位大虾不吝赐教
解决方案 »
- 关于MIDAS的问题
- 关于在dll中调用WebService的问题,100分相赠
- 代码里经常用self会不会影响速率?
- [北京]招聘Delphi开发工程师
- 往数据库里添加失败,帮我看看错哪了?(急,在线等)
- C++Builder中的VisiBroker4.0版本能用与D7的开发上吗,我找不到D7中的VB安装程序了
- 如何捕捉Eoleexecption类异常,并显示异常的错误号?
- IdQuotedPrintableDecoder1控件的用法?
- 如何实现动态查找?
- 哪有局域网语音聊天软件。哪有在局域网中,可以临视任一台电脑的屏幕。
- delphi+access遇到的问题
- jimmy8hcn come on i give you moneyincsdn
function GetLocalIP: 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;