本文整理汇总了C#中Microsoft.Win32.RegistryKey.get_value_as_string方法的典型用法代码示例。如果您正苦于以下问题:C# RegistryKey.get_value_as_string方法的具体用法?C# RegistryKey.get_value_as_string怎么用?C# RegistryKey.get_value_as_string使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Win32.RegistryKey
的用法示例。
在下文中一共展示了RegistryKey.get_value_as_string方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: evaluate_keys
/// <summary>
/// Evaluates registry keys and updates the snapshop with items
/// </summary>
/// <param name="key">The key.</param>
/// <param name="snapshot">The snapshot.</param>
public void evaluate_keys(RegistryKey key, Registry snapshot)
{
if (key == null) return;
FaultTolerance.try_catch_with_logging_exception(
() =>
{
foreach (var subKeyName in key.GetSubKeyNames())
{
FaultTolerance.try_catch_with_logging_exception(
() => evaluate_keys(key.OpenSubKey(subKeyName, RegistryKeyPermissionCheck.ReadSubTree, RegistryRights.ReadKey), snapshot),
"Failed to open subkey named '{0}' for '{1}', likely due to permissions".format_with(subKeyName, key.Name),
logWarningInsteadOfError: true);
}
},
"Failed to open subkeys for '{0}', likely due to permissions".format_with(key.Name),
logWarningInsteadOfError: true);
var appKey = new RegistryApplicationKey
{
KeyPath = key.Name,
RegistryView = key.View,
DefaultValue = key.get_value_as_string(""),
DisplayName = key.get_value_as_string("DisplayName")
};
if (string.IsNullOrWhiteSpace(appKey.DisplayName))
{
appKey.DisplayName = appKey.DefaultValue;
}
if (!string.IsNullOrWhiteSpace(appKey.DisplayName))
{
appKey.InstallLocation = key.get_value_as_string("InstallLocation");
appKey.UninstallString = key.get_value_as_string("UninstallString");
if (!string.IsNullOrWhiteSpace(key.get_value_as_string("QuietUninstallString")))
{
appKey.UninstallString = key.get_value_as_string("QuietUninstallString");
appKey.HasQuietUninstall = true;
}
// informational
appKey.Publisher = key.get_value_as_string("Publisher");
appKey.InstallDate = key.get_value_as_string("InstallDate");
appKey.InstallSource = key.get_value_as_string("InstallSource");
appKey.Language = key.get_value_as_string("Language");
// Version
appKey.DisplayVersion = key.get_value_as_string("DisplayVersion");
appKey.Version = key.get_value_as_string("Version");
appKey.VersionMajor = key.get_value_as_string("VersionMajor");
appKey.VersionMinor = key.get_value_as_string("VersionMinor");
// installinformation
appKey.SystemComponent = key.get_value_as_string("SystemComponent") == "1";
appKey.WindowsInstaller = key.get_value_as_string("WindowsInstaller") == "1";
appKey.NoRemove = key.get_value_as_string("NoRemove") == "1";
appKey.NoModify = key.get_value_as_string("NoModify") == "1";
appKey.NoRepair = key.get_value_as_string("NoRepair") == "1";
appKey.ReleaseType = key.get_value_as_string("ReleaseType");
appKey.ParentKeyName = key.get_value_as_string("ParentKeyName");
if (appKey.WindowsInstaller || appKey.UninstallString.to_string().to_lower().Contains("msiexec"))
{
appKey.InstallerType = InstallerType.Msi;
}
if (key.Name.EndsWith("_is1") || !string.IsNullOrWhiteSpace(key.get_value_as_string("Inno Setup: Setup Version")))
{
appKey.InstallerType = InstallerType.InnoSetup;
}
if (!string.IsNullOrWhiteSpace(key.get_value_as_string("dwVersionMajor")))
{
appKey.InstallerType = InstallerType.Nsis;
appKey.VersionMajor = key.get_value_as_string("dwVersionMajor");
appKey.VersionMinor = key.get_value_as_string("dwVersionMinor");
appKey.VersionRevision = key.get_value_as_string("dwVersionRev");
appKey.VersionBuild = key.get_value_as_string("dwVersionBuild");
}
if (appKey.ReleaseType.is_equal_to("Hotfix") || appKey.ReleaseType.is_equal_to("Update Rollup") || appKey.ReleaseType.is_equal_to("Security Update") || appKey.DefaultValue.to_string().StartsWith("KB", ignoreCase: true, culture: CultureInfo.InvariantCulture))
{
appKey.InstallerType = InstallerType.HotfixOrSecurityUpdate;
}
if (appKey.ReleaseType.is_equal_to("ServicePack"))
{
appKey.InstallerType = InstallerType.ServicePack;
}
// assume NSIS if we still don't know and we find uninst.exe
if (appKey.InstallerType == InstallerType.Unknown && appKey.UninstallString.to_string().to_lower().Contains("uninst.exe"))
{
appKey.InstallerType = InstallerType.Nsis;
}
//.........这里部分代码省略.........