Registry Turnen mit _winreg

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
boney
User
Beiträge: 22
Registriert: Dienstag 20. November 2007, 15:00

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!
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

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.
boney
User
Beiträge: 22
Registriert: Dienstag 20. November 2007, 15:00

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!
Antworten