注册条目的存在,但有时候我不能读取它

0

的问题

我看这个注册表中设置了许多时间,但有时不是。 这是非常罕见,但是事故发生在我的客户。

是正常的,有时没有进入存在窗户注册成为默认值,而不是真正存在的条目?

同一用户读登记册的100倍,并得到默认值一位以后。

public int GetDrukujSaldoOdbiorcy(int DefaultValue)
        {
            int result = DefaultValue;
            try
            {
                RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\BRMLM\MERA\USER_PARAM\Drukowanie");
                if (regKey != null)
                {
                    result = (int)regKey.GetValue("DrukujSaldoOdbiorcy", DefaultValue);
                    regKey.Close();
                }
                
            }
c# registry
2021-11-23 13:38:29
1

最好的答案

1

这可能是你没有许可以从中读取的注册表。 你必须了解你的应用程序的权限的客户机。 在代码你应该检查一下如果你可以读它是这样的:

public static bool CanReadKey(this RegistryPermission reg, string key)
{
    try
    {
        RegistryPermission r = new RegistryPermission(RegistryPermissionAccess.Read, key);
        r.Demand();
        return true;
    }
    catch (SecurityException)
    {
        return false;
    }
}

在你的情况下,它始终是默认值键时不能阅读是因为 try 将捕获的例外, result 值仍然是,与默认初始化,你必须提前的 try.

2021-11-23 13:48:42

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................