2016-05-12 25 views
0

現在、Windowsレジストリ全体(HKEY_CURRENTUSERのようなハイブを含む)をバックアップし、その違いを現在のWindowsと比較できるC#(.NET)でプログラムをコーディングしようとしています。新規/変更/削除されたキーのレジストリ。 FileSystemWatcherと同様に、変更された正確なキーを指摘できるはずです。 FileSystemWatcherのようなライブフィードを提供できるのであれば、それが最善でしょう。しかし私は彼らの違いを得ることができる限り、他のアイデアも開いています。レジストリ全体をバックアップして現在のレジストリと比較する

レジストリキーの変更を監視するためにWMIを調べてみましたが、HKEY_CLASSES_ROOTとHKEY_CURRENT_USERでは動作しません。これは監視する必要があります。

私はこれをどのように達成することができますか?誰かが私にこれを手伝ってもらえるかどうか本当に感謝します。

答えて

0

この問題を解決する最も単純な試みは、レジストリを前後にテキストファイルにエクスポートし、それらのファイルのテキスト比較を行うことです。

reg exportで作成されたファイルを(語彙的に)比較する際の最大の問題は、エクスポート時に存在するキーに応じてキーが同じ順序で表示されるという保証は必ずしもないということです。文字列であってもREG_BINARYとして表すことができます。 IIRCでは、キーがREG_BINARYとして「表現された」とREG_SZがもう1回エクスポートされた例を見てきました。これは、字句比較を完全に覆すでしょう。

IMHO、レジストリデータを順序付けされたテキスト形式で保存するか、またはメモリ内の比較を行う独自のエクスポート方法(再帰を使用することは非常に困難ではない)を作成することをお勧めします。

関連する問題