Registru de intrare există, dar uneori nu pot sa-l citesc

0

Problema

Am citit această setare de registry de mai multe ori, dar, uneori, nu. Acest lucru este foarte rar, dar a fost un accident în clientul meu.

Este normal ca uneori vreodată intrare există în registry Windows, am devenit valoare implicită în loc a existat într-adevăr de intrare?

Același utilizator citește registrul de 100 de ori și devine implicit o valoare un pic mai târziu.

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

Cel mai bun răspuns

1

Este posibil să nu aveți permisiunea de a citi de la registru. Va trebui să înțeleagă cererea dumneavoastră permisiuni pe masina client. În codul dvs., ar trebui să verificați mai întâi dacă puteți citi astfel:

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;
    }
}

În cazul tău este întotdeauna valoarea implicită atunci când cheia nu poate fi citit pentru că try va prinde o excepție și result valoarea rămâne cu implicit de inițializare care le avea înainte de try.

2021-11-23 13:48:42

În alte limbi

Această pagină este în alte limbi

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