Hola a todos,
C贸mo puedo saber el idioma del SO?
Existe una funci贸n para saber el idioma en el que est谩 el sistema operativo?
Gracias.
Un Saludo
Carlos G.
FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home
Hola a todos,
C贸mo puedo saber el idioma del SO?
Existe una funci贸n para saber el idioma en el que est谩 el sistema operativo?
Gracias.
Un Saludo
Carlos G.
FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home
FiveWiDi wrote:Hola a todos,
C贸mo puedo saber el idioma del SO?
Existe una funci贸n para saber el idioma en el que est谩 el sistema operativo?
Gracias.
Un Saludo
Carlos G.
FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home
FiveWiDi wrote:脕nimo ! Que la pregunta es muy sencilla.
#include "fivewin.ch"
#define MUI_LANGUAGE_ID 0x4
#define MUI_LANGUAGE_NAME 0x8
function Main()
local oWnd
? GetLangOS( MUI_LANGUAGE_ID )
? GetLangOS( MUI_LANGUAGE_NAME )
return nil
#pragma BEGINDUMP
#include <windows.h>
#include <hbapi.h>
#define MUI_LANGUAGE_NAME 0x8
LPSTR WideToAnsi( LPWSTR cWide )
{
WORD wLen;
LPSTR cString = NULL;
wLen = WideCharToMultiByte( CP_ACP, 0, cWide, -1, cString, 0, NULL, NULL );
if( wLen )
{
cString = ( char * ) hb_xgrab( wLen );
WideCharToMultiByte( CP_ACP, 0, cWide, -1, cString, wLen, NULL, NULL );
}
else
{
cString = ( char * ) hb_xgrab( 1 );
cString[ 0 ] = 0;
}
return ( cString );
}
BOOL GetLangOS( DWORD dwFlags,
LONG * pulNumLanguages,
PWSTR pwszLanguagesBuffer,
LONG * pcchLanguagesBuffer )
{
BOOL hr = FALSE;
typedef BOOL ( WINAPI *LPGETSYSTEMPREFERREDUILANGUAGES )( DWORD dwFlags,
long * pulNumLanguages,
PWSTR pwszLanguagesBuffer,
long * pcchLanguagesBuffer );
HINSTANCE hLib;
LPGETSYSTEMPREFERREDUILANGUAGES pGetLangOS;
hLib = LoadLibrary( "kernel32.dll" );
if ( hLib )
{
pGetLangOS = (LPGETSYSTEMPREFERREDUILANGUAGES) GetProcAddress( hLib, "GetSystemPreferredUILanguages" );
hr = pGetLangOS( dwFlags,
pulNumLanguages,
pwszLanguagesBuffer,
pcchLanguagesBuffer );
FreeLibrary( hLib );
}
return hr;
}
HB_FUNC( GETLANGOS )
{
long pulNumLanguages, pcchLanguagesBuffer;
WCHAR * pwszLanguagesBuffer = hb_xgrab( 256 );
DWORD dwFlags = hb_parnl( 1 );
char * result;
if( GetLangOS( dwFlags,
&pulNumLanguages,
pwszLanguagesBuffer,
&pcchLanguagesBuffer ) ){
result = WideToAnsi( pwszLanguagesBuffer );
hb_retclen( result, pcchLanguagesBuffer );
hb_xfree( result );
hb_xfree( pwszLanguagesBuffer );
} else
hb_retc( "" );
}
#pragma ENDDUMPDaniel Garcia-Gil wrote:FiveWiDi wrote:脕nimo ! Que la pregunta es muy sencilla.
me uno contigo y agrego
Animo que Google existe
Un Saludo
Carlos G.
FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home
Daniel Garcia-Gil wrote:aqui esta la impementacion
...聽 聽} else 聽 聽 聽 hb_retc( "" ); 聽 聽 } #pragma ENDDUMP
Un Saludo
Carlos G.
FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home
FiveWidi
podemos ir a algun chat? (msn, gmail)
Daniel Garcia-Gil wrote:Saludos
tomada desde http://msdn.microsoft.com/en-us/library/dd318124.aspx
Requirements
Minimum supported client
Windows Vista
Minimum supported server
Windows Server 2008
Header
Winnls.h (include Windows.h)
Library
Kernel32.lib
DLL
Kernel32.dll
Un Saludo
Carlos G.
FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home