Charge une ressource chaîne pour la langue spécifiée à partir du module spécifié
#include <WinAPIRes.au3>
_WinAPI_LoadStringEx ( $hModule, $iID [, $iLanguage = $LOCALE_USER_DEFAULT] )
$hModule | Le handle à une instance du module dont le fichier exécutable contient la ressource de type chaîne. Ce paramètre permet aussi de spécifier le nom du module à charger, il doit être un chemin complet ou relatif. Si ce paramètre est 0 ou une chaîne vide, cela équivaut à passer le handle du module utilisé pour créer le processus en cours. |
$iID | L'identifiant de la chaîne à charger. |
$iLanguage | [optionnel] L'identifiant de langue de la ressource chaîne qui vous intéresse. Pour récupérer la chaîne pour la langue par défaut de l'utilisateur définissez ce paramètre à $LOCALE_USER_DEFAULT (par défaut). |
Succès: | Retourne la chaîne. |
Échec: | Retourne la chaîne vide et définit @error <> 0. |
#include <APILocaleConstants.au3> #include <APIResConstants.au3> #include <MsgBoxConstants.au3> #include <WinAPILocale.au3> #include <WinAPIRes.au3> Local $hInstance = _WinAPI_LoadLibraryEx(@ScriptDir & '\Extras\Resources.dll', $LOAD_LIBRARY_AS_DATAFILE) If Not $hInstance Then MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Erreur', @ScriptDir & "\Extras\Resources.dll n'existe pas.") Exit EndIf ; Pourquoi le nom de la ressource pour la chaîne d'ID = 6000 est 376 ? 6000/16 + 1 = 376 Local $aData = _WinAPI_EnumResourceLanguages($hInstance, $RT_STRING, 376) If IsArray($aData) Then For $i = 1 To $aData[0] ConsoleWrite(StringFormat('%-10s - %s', _WinAPI_GetLocaleInfo($aData[$i], $LOCALE_SENGLANGUAGE), _WinAPI_LoadStringEx($hInstance, 6000, $aData[$i])) & @CRLF) Next EndIf