Partager via


Fonction FindResourceExA (winbase.h)

Détermine l’emplacement de la ressource avec le type, le nom et la langue spécifiés dans le module spécifié.

Syntaxe

HRSRC FindResourceExA(
  [in, optional] HMODULE hModule,
  [in]           LPCSTR  lpType,
  [in]           LPCSTR  lpName,
  [in]           WORD    wLanguage
);

Paramètres

[in, optional] hModule

Type : HMODULE

Handle du module dont le fichier exécutable portable ou un fichier MUI associé contient la ressource. Si ce paramètre a la valeur NULL, la fonction recherche le module utilisé pour créer le processus actuel.

[in] lpType

Type : LPCTSTR

Type de ressource. Sinon, plutôt qu’un pointeur, ce paramètre peut être MAKEINTRESOURCE(ID), où ID est l’identificateur entier du donné

type de ressource. Pour connaître les types de ressources standard, consultez Types de ressources. Pour plus d’informations, consultez la section Remarques ci-dessous.

[in] lpName

Type : LPCTSTR

Nom de la ressource. Sinon, plutôt qu’un pointeur, ce paramètre peut être MAKEINTRESOURCE(ID), où ID est l’identificateur entier de la ressource. Pour plus d’informations, consultez la section Remarques ci-dessous.

[in] wLanguage

Type : WORD

Langue de la ressource. Si ce paramètre est MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), la langue actuelle associée au thread appelant est utilisée.

Pour spécifier une langue autre que la langue actuelle, utilisez la macro MAKELANGID pour créer ce paramètre. Pour plus d’informations, consultez MAKELANGID.

Valeur retournée

Type : HRSRC

Si la fonction réussit, la valeur de retour est un handle du bloc d’informations de la ressource spécifiée. Pour obtenir un handle à la ressource, transmettez ce handle à la fonction LoadResource .

Si la fonction échoue, la valeur de retour est NULL. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Si IS_INTRESOURCE a la valeur TRUE pour x = lpType ou lpName, x spécifie l’identificateur entier du type ou du nom de la ressource donnée. Sinon, ces paramètres sont des pointeurs longs vers des chaînes terminées par null. Si le premier caractère de la chaîne est un signe de livre (#), les caractères restants représentent un nombre décimal qui spécifie l’identificateur entier du nom ou du type de la ressource. Par exemple, la chaîne « #258 » représente l’identificateur entier 258.

Pour réduire la quantité de mémoire requise pour une ressource, une application doit y faire référence par identificateur entier plutôt que par nom.

Une application peut utiliser FindResourceEx pour rechercher n’importe quel type de ressource, mais cette fonction ne doit être utilisée que si l’application doit accéder aux données de ressources binaires en effectuant des appels ultérieurs à LoadResource , puis à LockResource.

Pour utiliser une ressource immédiatement, une application doit utiliser l’une des fonctions spécifiques aux ressources suivantes pour rechercher la ressource et convertir les données dans un formulaire plus utilisable.

Fonction Action
FormatMessage Charge et met en forme une entrée de table de messages.
LoadAccelerators Charge une table d’accélérateur.
LoadBitmap Charge une ressource bitmap.
LoadCursor Charge une ressource de curseur.
LoadIcon Charge une ressource d’icône.
LoadMenu Charge une ressource de menu.
LoadString Charge une entrée de table de chaînes.
 

Par exemple, une application peut utiliser la fonction LoadIcon pour charger une icône à afficher à l’écran. Toutefois, l’application doit utiliser FindResourceEx et LoadResource si elle charge l’icône pour copier ses données dans une autre application.

Les ressources de chaîne sont stockées dans des sections de 16 chaînes maximum par section. Les chaînes de chaque section sont stockées sous la forme d’une séquence de chaînes Unicode comptées (pas nécessairement terminées par null). La fonction LoadString extrait la ressource de chaîne de sa section correspondante.

Exemples

Pour obtenir un exemple, consultez Création d’une liste de ressources.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winbase.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

Conceptuel

FindResource

FormatMessage

IS_INTRESOURCE

LoadAccelerators

LoadBitmap

LoadCursor

LoadIcon

LoadMenu

LoadResource

LoadString

MAKELANGID

Autres ressources

Référence

Ressources