Cuando Desarrollamos para Dispositivos Móviles basados en Windows, muchas veces queremos que nuestro usuario solo corra nuestro programa o que el usuario solo acceda a ciertas características ya sea cambiar la hora o el idioma, el separador decimal u otros parámetros configurables que no nos conviene que cambien en estos casos siempre elegimos correr el dispositivo en kiosk mode. Y muchas veces tenemos que configurar muchos de esos parámetros desde Nuestro propio Codigo!
Ahora vamos a la practica!
Ingredientes
1 Namespace Microsoft.Win32
2 Clases RegistryKey, Registry del manespace Microsoft.Win32
1 Documentación Sobre Language Identifiers and Locales
1 Documentation Sobre NLS Registry Settings
Y el foro de La MSDN en Ingles
Antes de iniciar deberías leer los ingredientes y sus links, para que tengas idea de lo que se esta haciendo, pero en resumidas cuentas cambiaremos los registros de Windows que nos indican la configuración regional luego refrescaremos el registro de Windows y Reiniciamos el dispositivo
private static void CambiarConfiguracionRegional()
{
try
{
RegistryKey clave = Registry.LocalMachine.OpenSubKey("nls", true);
clave.SetValue("DefaultLCID", 0x240a);//Colombia
clave.Close();
clave = Registry.LocalMachine.OpenSubKey("nls\\overrides", true);
clave.SetValue("LCID", 0x240a);//Colombia
clave.Close();
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Mucha Suerte a todos!
1 comentario:
Gracias por la solución, asertadisima.
Solo ampliando
Para tener acceso a la clase registrykey, se debe declarar
using System.Security.Permissions;
using Microsoft.Win32;
[assembly: RegistryPermissionAttribute(SecurityAction.RequestMinimum,
ViewAndModify = "HKEY_CURRENT_USER")]
Publicar un comentario