Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi DNS Server in Windows eintragen (https://www.delphipraxis.net/104490-dns-server-windows-eintragen.html)

kingflo 5. Dez 2007 09:22


DNS Server in Windows eintragen
 
Hallo ich möchte gerne mit meinem Programm die DNS-Serveraddresse in den TCPIP Eigenschaften eintragen lassen.

Bei meinem Rechner bekomme ich das auch folgendermaßen hin:

Delphi-Quellcode:
var reg:TRegistry;

    ergebnis:string;
    newValue:String;
begin
  newValue:='145.253.2.171';
  reg:=TRegistry.Create;
  reg.RootKey:=HKEY_LOCAL_MACHINE;
  reg.OpenKey( '\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{016E2DD2-BF67-4CEE-976F-7354D79F3B60}', False); //Schlüssel öffnen
  ergebnis:= reg.ReadString('NameServer'); //Wert auslesen
  reg.WriteString('NameServer',newValue);
  reg.Free; //Freigeben
  ShowMessage('Von '+ergebnis+' geändert in '+newValue);
Allerdings funktioniert diese Methode nur bei meinem Rechner, wegen der GUID {016E2DD2-BF67-4CEE-976F-7354D79F3B60}, die ja bei jedem Rechner an der stelle anders ist. Diese bekomme ich auch leider nicht raus. Jetzt wollte ich mal fragen, ob vielleicht jemand ne andere Möglichkeit kennt, und mir vielleicht helfen kann.

soulies 5. Dez 2007 11:38

Re: DNS Server in Windows eintragen
 
hoi,

nur als idee ...

[Idee]
falls dir die Ip adresse bekannt ist - könntest du diese in den schlüsseln vergleichen ...

wenn nicht dann nützt dir vllt. ein Vergleich der guid's und du suchts die, in der der wert der

ip adresse <> 0.0.0.0 ist ...
[/Idee]


cya

kingflo 5. Dez 2007 11:52

Re: DNS Server in Windows eintragen
 
ja die Adresse ist leider nicht bekannt, (soll ja nur gesetzt werden) und wenn derjenige keine DNS-Serveradresse benutzt, kann ich auch nicht nach <> 0.0.0.0 bz <> '' gucken, da der key NameServer dann gar nicht erst existiert.
Ausserdem ist der key NameServer ja ein Schlüssel (mit oder ohne Wert egal) der zu dem ordner {016E2DD2-BF67-4CEE-976F-7354D79F3B60} gehört. Und den schlüssel NameServer gibt es dummerweise ziemlich oft. Ich brauche aber den, der unter \SYSTEM\CurrentControlSet\Services\Tcpip\Parameter s\Interfaces\{GUID_UNBEKANNT} steht d.H... ich hab keine Ahnung *g*

das dumme bei mir z.B habe ich unter dem Pfad \SYSTEM\CurrentControlSet\Services\Tcpip\Parameter s\Interfaces noch 5 ordner (alle mit einer GUID benannt) wovon in 3 orndern der kay NameServer existirert ich in meinem Falle brauchte nur {016E2DD2-BF67-4CEE-976F-7354D79F3B60} (hab 111.111.111.111 mit windows TCPIP Eigenschaften eingetragen, und nach der IP gesucht).

kingflo 5. Dez 2007 12:01

Re: DNS Server in Windows eintragen
 
also es gäbe natürlich die Möglichkeit mit reg.getKeyNames alle Ordner zu ermitteln, und für jeden den NameServer zu setzen, das finde ich aber mist und unschön, deshalb hoffe ich einfach, dass jemand ne bessere sauberere Lösung kennt

soulies 5. Dez 2007 12:07

Re: DNS Server in Windows eintragen
 
hoi,

Zitat:

wenn derjenige keine DNS-Serveradresse benutzt, kann ich auch nicht nach <> 0.0.0.0 bz <> '' gucken, da der key NameServer dann gar nicht erst existiert.
warum nicht - was hat der key Nameserver mit IP adresse zu tun ?


Zitat:

\SYSTEM\CurrentControlSet\Services\Tcpip\Parameter s\Interfaces noch 5 ordner
du hast '5 Ordner' also 5 Guid's ...

ich behaupte mal einfach in allen Ordner gibt es den Key IP Adresse [bei mir ist es so]
in 4 Ordner davon ist diese 0.0.0.0 und nur in einem <> 0.0.0.0

wenn du diesen gefunden hast - hast du autom. deine Guid und kannst den Nameserver setzen ...

so dachte ich könnte es gehn ...



cya

kingflo 5. Dez 2007 12:34

Re: DNS Server in Windows eintragen
 
Zitat:

Zitat von soulies
hoi,

Zitat:

wenn derjenige keine DNS-Serveradresse benutzt, kann ich auch nicht nach <> 0.0.0.0 bz <> '' gucken, da der key NameServer dann gar nicht erst existiert.
warum nicht - was hat der key Nameserver mit IP adresse zu tun ?

Naja weil der DNS eintrag nicht in dem key IP adresse sondern im Key NameServer gespeichert wird.

kingflo 5. Dez 2007 12:46

Re: DNS Server in Windows eintragen
 
Jetzt habe ich aber noch ein Problem: mein Tool kann es jetzt zwar ändern, und wenn ich in Windows in die TCPIP Eigenschaften reingucke, steht da auch folgende DNS Adresse verwenden und dann meine Adresse, er benutzt sie aber nicht, denn wenn ich z.B die adresse 123.123.123.123 in Windows in den igenschaften eingebe, kann ich z.B danach keine Seiten mehr aufrufen (ist ja auch ok und richtig) wenn ich es aber mit meinem Tool mache, steht es zwar in den Eigenschaften von TCPIP mit 123.123.123.123 ich kann aber immer noch surfen usw, und dass kann ja nicht richtig sein.

Kann / bzw muss ich da irgendwas aktualisieren oder so?...

soulies 5. Dez 2007 12:48

Re: DNS Server in Windows eintragen
 
hoi,

Zitat:

Naja weil der DNS eintrag nicht in dem key IP adresse sondern im Key NameServer gespeichert wird.
alles richtig was du sagst ...

du sollst den Wert des Keys IPAddress auch nur vergleichen um an die gesuchte Guid ranzukommen ....

das du dann den nameserver in dem jeweiligen Key setzen musst ist klar ...


cya

soulies 5. Dez 2007 12:50

Re: DNS Server in Windows eintragen
 
Zitat:

Kann / bzw muss ich da irgendwas aktualisieren oder so?...
du bestimmt noch mit SendMessage ne Botschaft an Windows senden ...
aber welche ???? [frag mich net]



cya

kingflo 5. Dez 2007 14:40

Re: DNS Server in Windows eintragen
 
hab leider nichts gefunden *heul* weiß jemand vielleicht, wie ich dafür sorge, dass die Lan Verbindung, oder/und die Netzwerk/Lan Einstellungen Aktualisiert werden?


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:16 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz