Page 1 of 1

GetUserDefaultUILanguage

Posted: Wed Apr 02, 2008 3:41 pm
by Manuel Valdenebro
Quisiera usar la función de Windows GetUserDefaultUILanguage(), para conocer el lenguaje por defecto de cada máquina. Lo he intentado con ShellExecute, pero no reconoce esa función.- ¿Podría hacerlo de otra forma?.

Muchas gracias

Posted: Wed Apr 02, 2008 4:58 pm
by Antonio Linares
Manuel,

Puedes implementarla usando DLL FUNCTION ... ó directamente en C usando #pragma BEGINDUMP ... #pragma ENDDUMP

Posted: Wed Apr 02, 2008 6:20 pm
by Manuel Valdenebro
Antonio,

Muchas gracias por tu ayuda. Aquí dejo el código por si alguien lo necesitara:

#pragma BEGINDUMP
HB_FUNC(GETLANGUAGE)
{
hb_retnl( GetUserDefaultUILanguage( ) ) ;
}
#ENDDUMP

Esta función devuelve un código (español = 3082) que corresponde al idioma de cada máquina. En internet hay una lista con todos los códigos y su correspondiente lengua.

Posted: Wed Apr 02, 2008 6:32 pm
by Antonio Linares
Manuel,

La función con los includes necesarios:

Code: Select all

#pragma BEGINDUMP

#include <windows.h>
#include <hbapi.h>

HB_FUNC( GETUSERDEFAULTUILANGUAGE )
{
   hb_retnl( GetUserDefaultUILanguage( ) ) ;
}

#pragma ENDDUMP 

Posted: Wed Apr 02, 2008 9:45 pm
by Manuel Valdenebro
Antonio Linares wrote:Manuel,

La función con los includes necesarios:
Antonio, muchisimas gracias, ha funcionado correctamente.

Es una función muy util en programas multilenguajes, ya que permite, desde su instalación, elegir la lengua del usuario.

Todo ha sido mas fácil de lo que pensaba.