Можно, используя модули IPHelper.pas IPHLPAPI.pas. Код:
| Код | uses IPHelper, IPHLPAPI; .................. .................. .................. function GetIPByIndex(InterfaceIndex: Cardinal): string; var i: integer; IPArr : TMIBIPAddrArray; begin Result := '!not_found!'; Get_IPAddrTableMIB( IpArr ); // получаем таблицу адресов if Length(IPArr) > 0 then for i := low(IPArr) to High(IPArr) do // ищем индекс... if IPArr[i].dwIndex = InterfaceIndex then begin Result := IPAddr2Str(IParr[i].dwAddr); BREAK; end; end;
|
где InterfaceIndex - индекс интерфейса, у которого нужно получить IP. Вызывать так:
| Код | .................... var MibArr: TMIBIfArray; IP: string; ..................... Get_IfTableMIB(MibArr); IP:= GetIPByIndex(MibArr[Index].dwIndex); .....................
|
прогони Index значаниями 1, 2, 3, должен возвратить адреса интерфейсов. |