Maks150988

Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Подскажите как извлечь адрес шлюза. Есть код: function NET_GetLocalIP: PChar; stdcall; var wsaData: TWSAData; Error : DWORD; HostEntry : PHostEnt; Address : In_Addr; Buffer : array [0..63] of Char; begin WSAStartup($101, wsaData); GetHostName(Buffer, SizeOf(Buffer)); HostEntry := gethostbyname(Buffer); Error := GetLastError; MessageBox(0,Pchar(SysErrorMessage(GetLastError)),Pchar('Ошибка # '+IntToStr(GetLastError)),0); if Error = 0 then begin Address := PInAddr(HostEntry^.h_addr_list^)^; Result := inet_ntoa(Address); end else Result:='XXX.XXX.XXX.XXX'; WSACleanup; end; Используем ее MessageBox(0,'',NET_GetLocalIP,0); Дык вот если ип адрес допустим 192.11.11.11, то шлюз должен быть 192.11.11.1. В поисковиках везде выдает коды на нахождение айпишника, но нигде не могу найти на нахождение шлюза. Неужели придется править последнюю цифру в айпишнике на 1 и выдавать ее за адрес шлюза? Не хотелось бы... |