Autor Beitrag
Sorryman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 52



BeitragVerfasst: Mi 21.01.04 23:48 
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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 679

Win2000, WinXp, Workbench ;-)
D7 Ent, VS2003 Arch.
BeitragVerfasst: 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:

_________________
Euer Mäxchen
Wer früher stirbt, ist länger tot.
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: 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 an.

Cu,
Udontknow