¿Alguien podría aconsejarme cómo cambiar programáticamente la página predeterminada de códigos de Windows XP (estoy haciendo esto desde Delphi)? (Esto sería el equivalente a ir al Panel de control -> Configuración regional -> Idioma para aplicaciones que no son Unicode).¿Cambia programáticamente la página de códigos predeterminada en Windows XP? (de Delphi)
En este caso, quiero cambiar a China (República Popular China) y así escribo para las siguientes cadenas de registro: HKLM \ SYSTEM \ CurrentControlSet \ Control \ NLS \ CodePage \ ACP = 936 MACCP = 10008 OEMCP = 936
(Que es exactamente lo que cambia el menú desplegable de la página de códigos no Unicode en el Panel de control). Debe haber otra configuración que deba cambiar, y preferiría usar una llamada a Win API (si está disponible) en lugar de escribir en el registro.
También intenté configurar HKLM \ SYSTEM \ CurrentControlSet \ Control \ Nls \ Language \ Valor predeterminado = 0804 (Chinese PRC) inútilmente.
No quiero cambiar el 'local' per se ya que esto también va a cambiar el tiempo/ajustes de fecha, separadores, etc., etc.
Esto se debe a que estoy usando una aplicación ANSI que necesita renderizar caracteres chinos, y estoy escribiendo una herramienta para cambiar automáticamente el sistema para mostrar los caracteres (mientras que otros aspectos de la interfaz de usuario permanecen intactos).
Gracias!
Duncan
Craig - Sí, esta es una aplicación de consola donde nuestro software es la única aplicación visible que se ejecuta en la PC (además del shell de Windows). El software de ANSI en cuestión ya se ha escrito y no puedo cambiarlo (para esta situación). Solo estoy escribiendo una utilidad por separado para cambiar la página de códigos de Windows. AppLocale se ve bien.Sigo pensando que la mejor solución es cambiar la página de códigos no unicode, pero no sé cómo hacer esto sin hacer clic manualmente en la opción desplegable del Panel de control -> Configuración regional. De cualquier manera, muchas gracias por la gran cantidad de soluciones! – Duncan