Entrada de registro existe, pero a veces no puedo leerlo

0

Pregunta

He leído esta configuración de registro muchas veces, pero a veces no. Esto es muy rara vez, pero fue un accidente en mi cliente.

Es normal que a veces nunca existe una entrada en el registro de Windows me convierto valor predeterminado en lugar existía realmente la entrada?

El mismo usuario lee el registro de 100 veces y se obtiene el valor por defecto un poco más tarde.

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

Mejor respuesta

1

Es posible que usted no tiene el permiso para leer de registro. Usted tendrá que entender sus permisos de la aplicación en el equipo cliente. En el código se debe comprobar en primer lugar si se puede leer así:

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

En su caso siempre es el valor predeterminado cuando la clave no se pueden leer debido a que el try se captura la excepción y la result valor permanece con la inicialización predeterminada que tiene por delante de la try.

2021-11-23 13:48:42

En otros idiomas

Esta página está en otros idiomas

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