Kayıt defteri girdisi var ama bazen okuyamıyorum

0

Soru

Bu kayıt defteri ayarını birçok kez okudum, ancak bazen değil. Bu çok nadiren olur ama müvekkilimde bir kazaydı.

Bazen Windows kayıt defterinde bir girişin var olması normaldir, bunun yerine gerçekten var olan giriş varsayılan değer olur mu?

Aynı kullanıcı kaydı 100 kez okur ve varsayılan değeri biraz sonra alır.

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

En iyi cevabı

1

Kayıt defterinden okuma izniniz olmayabilir. İstemci makinedeki uygulama izinlerinizi anlamanız gerekir. Kodunuzda, önce bu şekilde okuyup okuyamayacağınızı kontrol etmelisiniz:

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

Sizin durumunuzda, anahtar okunamadığında her zaman varsayılan değerdir, çünkü try istisnayı yakalayacak ve result değer, önünüzdeki varsayılan başlatma ile kalır. try.

2021-11-23 13:48:42

Diğer dillerde

Bu sayfa diğer dillerde

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