private static FrameworkInstallation GetFromV4(RegistryKey subKey, string subKeyName) { var hasRelease = int.TryParse( subKey.GetValue("Release", null)?.ToString(), out var release); Version version = null; if (hasRelease) { // 4.5+ var displayableVersion = GetNetFxVersionFromRelease(release); if (displayableVersion != null) { version = displayableVersion; } } if (version == null) { version = ParseOrNull(subKey.GetString("Version")); } FrameworkProfile?profile = null; switch (subKeyName) { case "Full": profile = FrameworkProfile.Full; break; case "Client": profile = FrameworkProfile.Client; break; } return(new FrameworkInstallation { Profile = profile, Version = version, ServicePack = subKey.GetInt("SP"), Release = hasRelease ? release : null as int? }); }
/// <summary> /// 从注册表中读取 Int 型数值。 /// </summary> /// <param name="name">键值名称。</param> /// <returns>Int 型数值。</returns> public static int GetInt(this RegistryKey This, string name) { return(This.GetInt(name, 0)); }
public static int GetInt(string name) { return(MainRegistry.GetInt(name)); }