Entwickler-Ecke

Dateizugriff - vergleichen von zwei Registrierungsdatenbanken


Sorryman - Mi 21.01.04 23:48
Titel: vergleichen von zwei Registrierungsdatenbanken
Hallo!

Kann mir jemand einen guten Code posten wie ich zwei Windows-Registry-Datenbanken vergleichen kann?
Zur Erklärung:
Ich speichere Exportiere die Registry, installiere dann ein Programm und will dann auslesen welche Einträge hinzugekommen sind!

Ich hab schonmal beide Dateien in txt-Dateien umgewandelt und auf verschiedene Arten durchsuchen lassen, indem ich die zweite Datei Zeilenweise ausgelesen habe und mit der ersten verglichen habe... Da die Dateien aber jeweils um die 20 mb groß sind, dauert das sehr sehr lange!

Hoffe das war verständlich...
Hat da jemand eine Idee?


MaxiTB - Do 22.01.04 15:01
Titel: ::sorry
Da hast ein Problem ...

Der binäre Vergleich funktioniert nicht, daher müßtest du über TRegistry einen rekusiven Baumvergleich machen. Ungefähr genauso wie wenn du zwei Festplatten Inhalte (Directories - Files) vergleichen möchtest.

Warum funktioniert der direkte Vergleich nicht ? Ganz einfach - die Registrierungsdateien (System.Dat und User.dat) sind aufgebaut ähnlich wie ein Dateisystem. Daher werden gelöschte Einträge nur als gelöscht markiert aber nicht wirklich gelöscht. Wenn du einen 1:1 Vergleich machst, dann wirst wegen den Leichen nie ein true zurückbekommen.

Das Problem ist jetzt eigentlich nur noch, daß ich nicht weiß, wie man auf eine externe Registrierung zugreift um den Vergleich zu machen. Der Rest ist ja ein Klax :wink:


Udontknow - Do 22.01.04 15:08

Du musst gar nicht vergleichen, es gibt eine Schnittstelle, wo du sozusagen Änderungen sofort mitgeteilt bekommst. Ich kenne die Schnittstelle zwar nicht, aber vielleicht hilft dir ja schon dieses Programm weiter: Schau dir mal das Programm Regmon [http://www.pctip.ch/downloads/dl/22390.asp] an.

Cu,
Udontknow