Funzione EnumUILanguagesW (winnls.h)
Enumera le lingue dell'interfaccia utente disponibili nel sistema operativo e chiama la funzione di callback con ogni lingua nell'elenco.
Sintassi
BOOL EnumUILanguagesW(
[in] UILANGUAGE_ENUMPROCW lpUILanguageEnumProc,
[in] DWORD dwFlags,
[in] LONG_PTR lParam
);
Parametri
[in] lpUILanguageEnumProc
Puntatore a una funzione di callback definita dall'applicazione EnumUILanguagesProc. EnumUILanguages chiama ripetutamente questa funzione per enumerare le lingue nell'elenco.
[in] dwFlags
Flag che identificano il formato e il filtro della lingua. I flag seguenti specificano il formato della lingua da passare alla funzione di callback. I flag di formato si escludono a vicenda e MUI_LANGUAGE_ID è l'impostazione predefinita.
I flag seguenti specificano il filtro per la funzione da usare nell'enumerazione dei linguaggi. I flag di filtro si escludono a vicenda e il valore predefinito è MUI_LICENSED_LANGUAGES.
Windows Vista e versioni successive: L'applicazione può impostare dwFlags su 0 o su uno o più flag specificati. Un'impostazione pari a 0 fa sì che il valore predefinito del parametro MUI_LANGUAGE_ID | MUI_LICENSED_LANGUAGES.
Windows 2000, Windows XP, Windows Server 2003: L'applicazione deve impostare dwFlags su 0.
[in] lParam
Valore definito dall'applicazione.
Valore restituito
Restituisce TRUE se ha esito positivo o false in caso contrario. Per ottenere informazioni estese sull'errore, l'applicazione può chiamare GetLastError, che può restituire uno dei codici di errore seguenti:
- ERROR_INVALID_FLAGS. I valori specificati per i flag non sono validi.
- ERROR_INVALID_PARAMETER. Uno dei valori dei parametri non è valido.
Osservazioni
Questa funzione enumera le lingue dell'interfaccia utente disponibili e, a seconda del flag specificato, concesso in licenza per l'uso nel sistema operativo. Passa identificatori di lingua o nomi di lingua, uno alla volta, alla EnumUILanguagesProc funzione di callback. La funzione EnumUILanguages continua a passare identificatori di lingua o nomi alla funzione di callback fino a quando non viene trovata l'ultima lingua o la funzione di callback restituisce FALSE.
Per le applicazioni eseguite solo in Windows Vista e versioni successive, è consigliabile MUI_LANGUAGE_NAME MUI_LANGUAGE_ID. MUI_LANGUAGE_NAME consente la differenziazione tra le lingue associate a un impostazioni locali supplementari.
Se il flag MUI_LANGUAGE_ID viene specificato nella chiamata a questa funzione, le stringhe passate al callback
la funzione sarà un identificatore di lingua esadecimale che non include il valore 0x iniziale e sarà 4
caratteri di lunghezza. Ad esempio, en-US verrà passato come "0409" e en come "0009". Il valore "1000" viene passato alla funzione di callback per qualsiasi lingua associata a impostazioni locali supplementari. Questo valore corrisponde al valore esadecimale di LOCALE_CUSTOM_UNSPECIFIED. Non distingue le impostazioni locali supplementari, anche se la lingua selezionata si trova nell'elenco delle lingue preferite dell'interfaccia utente o nell'elenco delle lingue preferite dell'interfaccia utente di sistema.
firma C#
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.Boolean EnumUILanguages(
EnumUILanguagesProc lpUILanguageEnumProc,
System.UInt32 dwFlags,
System.IntPtr lParam
);
Nota
L'intestazione winnls.h definisce EnumUILanguages come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 Professional [app desktop | App UWP] |
server minimo supportato | Windows 2000 Server [app desktop | App UWP] |
piattaforma di destinazione | Finestre |
intestazione |
winnls.h (include Windows.h) |
libreria |
Kernel32.lib |
dll | Kernel32.dll |