The FindResourceEx function determines the location of the resource with the specified type, name, and language in the specified module.
HRSRC FindResourceEx(
HMODULE hModule, | // resource-module handle |
LPCTSTR lpType, | // pointer to resource type |
LPCTSTR lpName, | // pointer to resource name |
WORD wLanguage | // resource language |
); |
Parameters
hModule
Identifies the module whose executable file contains the resource. If this parameter is NULL, the function searches the module used to create the current process.
lpType
Points to a null-terminated string specifying the type name of the resource. For more information, see the Remarks section. For standard resource types, this parameter can be one of the following values:
Value | Meaning |
RT_ACCELERATOR | Accelerator table |
RT_ANICURSOR | Animated cursor |
RT_ANIICON | Animated icon |
RT_BITMAP | Bitmap resource |
RT_CURSOR | Hardware-dependent cursor resource |
RT_DIALOG | Dialog box |
RT_FONT | Font resource |
RT_FONTDIR | Font directory resource |
RT_GROUP_CURSOR | Hardware-independent cursor resource |
RT_GROUP_ICON | Hardware-independent icon resource |
RT_ICON | Hardware-dependent icon resource |
RT_MENU | Menu resource |
RT_MESSAGETABLE | Message-table entry |
RT_RCDATA | Application-defined resource (raw data) |
RT_STRING | String-table entry |
RT_VERSION | Version resource |
lpName
Points to a null-terminated string specifying the name of the resource. For more information, see the Remarks section.
wLanguage
Specifies the language of the resource. If this parameter is MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), the current language associated with the calling thread is used.
To specify a language other than the current language, use the MAKELANGID macro to create this parameter. For more information, see the MAKELANGID macro.
Return Values
If the function succeeds, the return value is a handle to the specified resource's info block. To obtain a handle to the resource, pass this handle to the LoadResource function.
If the function fails, the return value is NULL. To get extended error information, call GetLastError.
Remarks
If the high-word of the lpType or lpName parameter is zero, the low-word specifies the integer identifier of the type or name of the given resource. Otherwise, those parameters are pointers to null-terminated strings. If the first character of the string is a pound sign (#), the remaining characters represent a decimal number that specifies the integer identifier of the resource's name or type. For example, the string "#258" represents the integer identifier 258.
Applications should reduce the amount of memory required for the resources by referring to them by integer identifier instead of by name.
An application can use FindResource to find any type of resource, but this function should be used only if the application must access the binary resource data when making subsequent calls to the LoadLibrary and LockResource functions.
To use a resource immediately, an application should use the following resource-specific functions to find and load the resources in one call:
Function | Action |
FormatMessage | Loads and formats a message-table entry. |
LoadAccelerators | Loads an accelerator table. |
LoadBitmap | Loads a bitmap resource. |
LoadCursor | Loads a cursor resource. |
LoadIcon | Loads an icon resource. |
LoadMenu | Loads a menu resource. |
LoadString | Loads a string-table entry. |
For example, an application can use the LoadIcon function to load an icon for display on the screen. However, the application should use FindResource and LoadResource if it is loading the icon to copy its data to another application.
See Also
FindResource, FormatMessage, LoadAccelerators, LoadBitmap, LoadCursor, LoadIcon, LoadMenu, LoadString, LoadResource, MAKELANGID