1
從不同的機器中,我導出了註冊表的不同分支。 (整個註冊表太大,拿的全部。)在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
分支。
如何使用的RegistryKey工具用C#打開保存在我的機器上的註冊表文件(但不是爲我自己的機器的實際註冊表)?
順便說一句,你問這個問題已經差不多20天了;你有沒有想過別的嗎? –
我很遺憾沒有找到解決方案。 – user2494584