Seite 1 von 1

Registry Turnen mit _winreg

Verfasst: Dienstag 18. März 2008, 18:29
von boney
Hidiho!

Ich hab folgendes vor:
Wenn ich ein bestimmtes Programm installiere, dann wird ein Lizenzfile auf Basis der MAC-Adresse der in der Registry an ersten auftauchenden Netzwerkkarte vergeben. Da ich keine Lust habe 2x Lizenzgebühr zu zahlen nur weil ich ne andere Netzwerkkarte verwende oder das Programm auf meinem Laptop haben will habe ich mir überlegt, dass ich einen Microsoft Loopback Adapter installiere und diesen dann in der Registry "nach oben" schiebe.

Das Ganze will ich jetzt automatisieren. Das geht soweit auch ganz gut. Nur häng ich jetzt an der Registry und hab keine Ahnung wie ich weiter vorgehen soll.
Es geht um den Schlüssel "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards" Hier werden alle Netzwerkkarten aufgelistet.
Hier mal ein Bild.
Ich hab jetzt hier schon einen Loopback auf "01" liegen.

Meine Frage ist jetzt:
Wie kann ich auf die Netzwerkkarten "zugreifen"?
Ich will jetzt den Schlüssel erstmal durchgehen und schauen ob schon eine Netzwerkkarte auf "1" oder "01" gebucht ist. Wenn ja, dann will ich diese umbennen z.B. in "20" oder so und dann den Loopback suchen und diesen in "01" umbennen.

Ist ungefähr klar geworden was ich meine? :)

Gruß
boney

[EDIT] Ich hab mir überlegt, dass man ja auch den Registry Eintrag der auf der "1" steht auslesen kann, dann löschen und dann einen neuen Erstellen mit den Infos die man ausgelesen hat.

Was mir aber noch fehlt ist, wie ich die Registry "durchlaufen" kann. Als wie ich die Namen der Subkeys vom o.a. Key bekomme!

Verfasst: Dienstag 18. März 2008, 20:44
von mkesper
Proprietäre Software kann vielleicht nerven! ;)
Python.org Doku zu winreg hat geschrieben:EnumKey(key, index):
The function retrieves the name of one subkey each time it is called. It is typically called repeatedly until an EnvironmentError exception is raised, indicating, no more values are available.
D.h. jeder Aufruf gibt dir den nächsten Schlüssel, bis die Exception ausgelöst wird. Analog arbeitet EnumValue.

Verfasst: Dienstag 18. März 2008, 20:51
von boney
Jep, da hast du Recht!

Ich hock hier seit Stunden vor der Doku und hab auch alles mal ausprobiert, aber genau EnumKey hab ich nicht zweckmäßig getestet :?

Dankeschön!