異なるマシンからレジストリの異なるブランチをエクスポートしました。 (レジストリ全体が大きすぎて全体を占めることができませんでした)C#でエクスポートされたレジストリを開く
これらのレジストリは自分のマシン上の.regファイルに保存していますが、これまでプレーンテキストとしてしか調べていませんでした。キーを私のマシンのレジストリとマージさせたくないので、私はRegeditでそれらを開けたくない。
私のC#アプリケーションでは、ソフトウェアがインストールされているかどうかを判断するために、マシンの既存のレジストリを調べています。
string REGISTRY_KEY = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
string REGISTRY_NAME = "Name of Software";
bool is64bit = true;
RegistryView registryView = is64Bit ? RegistryView.Registry64 : RegistryView.Registry32;
RegistryKey registryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, registryView).OpenSubKey(REGISTRY_KEY);
if (registryKey != null)
{
using (registryKey)
{
foreach (string subkeyName in registryKey.GetSubKeyNames())
{
using (RegistryKey subkey = registryKey.OpenSubKey(subkeyName))
{
string displayName = (string)subkey.GetValue("DisplayName");
if (displayName != null && displayName.Contains(REGISTRY_NAME))
{
Console.WriteLine("Found the program");
}
}
}
}
}
これは、私のマシンのHKLMの64ビットビュー内を検索します。
しかし、今では同じコードを実行したいのですが、私のマシンのレジストリファイルを使用する代わりに、私が持っているエクスポートされた.regファイルを使いたいと思います。 私がエクスポートしたブランチは、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
ブランチです。
C#でRegistryKeyツールを使用して、自分のマシンに保存されているレジストリファイルを開くにはどうすればよいですか?
あなたはこの質問をしてから20日ほど経ちました。何か別のものを考え出したのですか? –
残念ながら解決策が見つかりませんでした。 – user2494584