News:

This week IPhone 15 Pro winner is karn
You can be too a winner! Become the top poster of the week and win valuable prizes.  More details are You are not allowed to view links. Register or Login 

Main Menu

Dynamically changing TCP/IP DNS addresses

Started by charleychacko, October 15, 2006, 11:24:56 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

charleychacko

If you connect to the Internet, a Domain Name Server (DNS) is generally required to convert English Internet addresses to their natural numeric IP addresses -- to convert You are not allowed to view links. Register or Login to 1.2.3.4 for example.

If you have a need to dynamically change your DNS servers from your program, you can do so by calling the the following "SetTCPIPDNSAddresses()" function with a list of DNS IP addresses separated by a single space.

uses Registry;

procedure
  SaveStringToRegistry_LOCAL_MACHINE(
  sKey, sItem, sVal : string );
var
  reg : TRegIniFile;
begin
  reg := TRegIniFile.Create( '' );
  reg.RootKey := HKEY_LOCAL_MACHINE;
  reg.WriteString(
    sKey, sItem, sVal + #0 );
  You are not allowed to view links. Register or Login;
end;
Listing #1 : Delphi code. Download registry (0.3 KB). You are not allowed to view links. Register or Login

procedure
  SetTCPIPDNSAddresses(
  sIPs : string );
begin
  //
  // if using Windows NT
  //
  SaveStringToRegistry_LOCAL_MACHINE(
    'SYSTEMCurrentControlSet' +
    'ServicesTcpipParameters',
    'NameServer',
    sIPs );

  //
  // if using Windows 95
  //
  SaveStringToRegistry_LOCAL_MACHINE(
    'SYSTEMCurrentControlSet' +
    'ServicesVxDMSTCP',
    'NameServer',
    sIPs );
end;
Listing #2 : Delphi code. Download setdns (0.33 KB). You are not allowed to view links. Register or Login

For example, if you want to set two DNS server addresses -- 1.2.3.4 and 5.6.7.8 here's how your function call would look like:

SetTCPIPDNSAddresses(
  '1.2.3.4 5.6.7.8' );
Listing #3 : Delphi code. Download sample (0.17 KB). You are not allowed to view links. Register or Login