Thema: Delphi Registry überwachen

Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#9

Re: Registry überwachen

  Alt 14. Jan 2005, 07:49
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat