proxy - In Delphi 7, how can I retrieve Internet Connection names list? -


earlier ask how can set internet proxy in windows connection.

but problem if want set connections, must list connection names list. search on net can't find answer this.

you're looking rasenumentries function. delphi doesn't have ras api functions declared, easy if you've got jvcl. tjvras32 component has phonebook tstrings property in available connections populated.

below d2007 test code (no error checking):

const   ras_maxentryname = 256;   rasbase = 600;   error_buffer_too_small = rasbase + 3;   error_invalid_size = rasbase + 32;  type   prasentryname = ^trasentryname;   trasentryname = record     dwsize: longint;     szentryname: array [0..ras_maxentryname] of char;   end;  function rasenumentriesa(reserved: pchar; lpszphonebook: pchar;           lprasentryname: prasentryname; var lpcb: dword;           var lpcentries: dword): dword; stdcall; external 'rasapi32.dll';  procedure getrasentries(list: tstrings); var   rasentrynames: array of trasentryname;   err, size, entries: dword;   i: integer; begin   list.clear;   setlength(rasentrynames, 1);   size := sizeof(trasentryname);   rasentrynames[0].dwsize := size;   err := rasenumentriesa(nil, nil, @rasentrynames[0], size, entries);   if (err = error_buffer_too_small) , (entries > 0) begin     assert(size = sizeof(trasentryname) * entries);     setlength(rasentrynames, entries);     err := rasenumentriesa(nil, nil, @rasentrynames[0], size, entries);     if err = 0       := 0 length(rasentrynames)         list.add(rasentrynames[i].szentryname);   end else     list.add(rasentrynames[0].szentryname); end;   procedure tform1.button1click(sender: tobject); begin   getrasentries(listbox1.items); end; 

Comments

Popular posts from this blog

c# - How to set Z index when using WPF DrawingContext? -

razor - Is this a bug in WebMatrix PageData? -

visual c++ - Using relative values in array sorting ( asm ) -