Encuentre la clave de registro para la configuración del método de entrada de Windows 8 por aplicación


0

Tuve algunos problemas para adaptar una aplicación de Windows 7 para Windows 8. El problema era que Windows 8 tenía un método de entrada global en Windows 8.

Descubrí que la configuración del panel de control "Permitirme establecer un método de entrada diferente para cada aplicación de Windows" resolvió mi problema ( Establecer Windows 8 en el modo de idioma de entrada por aplicación ).

Ahora mi pregunta es: ¿dónde puedo encontrar esta configuración en el registro de Windows 8 ?

Me gustaría recuperar esta clave en mi aplicación.

Respuestas:


2

Esta configuración se almacena en HKEY_CURRENT_USER \ Control Panel \ Desktop \ UserPreferencesMask. El valor del registro en sí es un valor binario que representa una máscara de bits de varias configuraciones. Su formato está documentado aquí.

Lamentablemente, este documento está un poco desactualizado y no contiene información sobre esta configuración en particular. Al experimentar con este valor, descubrí que los settins se almacenan en el bit 32. Cuando este bit está activado, la entrada cambia para cada aplicación por separado.

Example of HKEY_CURRENT_USER\Control Panel\Desktop\UserPreferencesMask with setting on:
9e 1e 07 80 92 00 00 00
With setting off:
9e 1e 07 80 12 00 00 00 

Aquí hay un ejemplo de script de Powershell para activarlo:

$prefMask = (Get-ItemProperty -Path 'HKCU:\Control Panel\Desktop' -Name 'UserPreferencesMask').UserPreferencesMask
if (($prefMask[4] -band 0x80) -eq 0) {
  $prefMask[4] = ($prefMask[4] -bor 0x80)
  New-ItemProperty -Path 'HKCU:\Control Panel\Desktop' -Name 'UserPreferencesMask' -Value $prefMask -PropertyType ([Microsoft.Win32.RegistryValueKind]::Binary) -Force | Out-Null
}

Se probó en muchas máquinas win8.1 (tanto x86 como x64) y parece funcionar como se esperaba.

Tenga en cuenta que la configuración surte efecto de inmediato, pero se muestra mal en el cuadro de diálogo de configuración del panel de idioma. Por lo tanto, debe cerrar sesión y volver a iniciar sesión en la configuración del panel para recoger el cambio.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.