Zitat von
malo:
es sei denn, die
WinAPI bzw. das .NET-Framework bietet dafür eine geeignete Schnittstelle, von der ich nichts weiß.
Dann klär ich Dich mal auf
Die
Win32-
API bietet tatsächlich sowas, und das nennt sich
WMI. Über
WMI kann man asynchrone Aufrufe starten, die soviel sagen wie: "Bitte schick mir ein Event, wenn sich etwas an dem Objekt ändert, das ich Dir hier mitschicke.". Als Objekt schickt man dann eben die verschiedenen Root-Nodes der Registry mit.
Kommt nun eine Änderung (von egal wem) an die Registry, so wird die Änderung durchgeführt und die
WMI-Object-Sink löst ein Event aus. In dem Event kommt ein Objekt zurück, das sowohl die alten als auch die neuen Daten enthält.
Das ganze funktioniert - wenn es sauber implementiert ist! - sogar übers Netzwerk.
Erm ja. Und es hat einen gewaltigen Nachteil: Es ist auf dem / den Rechnern, deren Registry überwacht wird dann ziemlich Performancehungrig, da dann der Windows-'Systemverwaltungsdienst' den
WMI-Provider der Registry regelmässig pollt. Du wirst also sehen, das der Dienst auf einmal recht viel Rechenzeit benötigt. Aber davon abgesehen funktioniert das ganze relativ elegant.