• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 926
  • Last Modified:

how can I get default gateway?

I tried  some function but them dont work out.

Tell me some  function to do this after your examination!Do give me anything you haven't haven a examination! had better give me full unit and function name to use this unit after your examination!I will give everyone A grade who answer regardless of your answer is correct or not correct!
had better dont  use function of get register value
beacuse my register of gateway is strange   such: HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/{4203270B-BDAF-418B-BF41-2569770580C4}/Parameters/Tcpip/DefaultGateway
So I want such API function to get defaultgateway ,beacuse I want to get default gateway regardless of which way to register.

I have use some function:



function my_ip_address:longint;
const
  bufsize=255;
var
  buf: pointer;
  //str: string;
  RemoteHost : PHostEnt; (* No, don't free it! *)
begin
  buf:=NIL;
  try
    getmem(buf,bufsize);
    winsock.gethostname(buf,bufsize);   (* this one maybe without domain *)
    RemoteHost:=Winsock.GetHostByName(buf);
    if RemoteHost=NIL then
      my_ip_address:=winsock.htonl($07000001)  (* 127.0.0.1 *)
    else
      my_ip_address:=longint(pointer(RemoteHost^.h_addr_list^)^);
      //str:= inet_addr(pointer(RemoteHost^.h_addr_list^)^);
  finally
    if buf<>NIL then  freemem(buf,bufsize);
    end;
  result:=winsock.ntohl(result);
  end;  


function LongToIp(Long: Longint): string;
var
  ipx: array[0..3] of Byte;
  i: Byte;
begin
  Longint(ipx) := long;
  Result       := '';
  for i := 0 to 3 do Result := Result + IntToStr(ipx[i]) + '.';
  SetLength(Result, Length(Result) - 1);
end;

but I don't have haven the correct answer from thoese two function

My Default GetWay:192.168.1.1  vpn host
my ip :192.168.1.103  in vpn
The GetWay above 192.168.1.1  :  218.86.198.1
mask:225.225.225.0
first DNS:202.98.192.68
second DNS:192.168.1.11


with the two function run

I got getway as 128.1.1.223  why?
where did 128.1.1.223 come from?

and I ping 128.1.1.223 I cant ping through it.

I can ping through 192.168.1.1  192.168.1.103   218.86.198.1 first DNS:202.98.192.68
second DNS:192.168.1.11
0
forLord
Asked:
forLord
1 Solution
 
mikelittlewoodCommented:
0
 
forLordAuthor Commented:
This link is not useful to me I think

who will give me a full unit and function name to use?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now