Compartir a través de


FindResource

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

This function determines the location of a resource with the specified type and name in the specified module.

Syntax

HRSRC FindResource( 
  HMODULE hModule, 
  LPCWSTR lpName, 
  LPCWSTR lpType 
); 

Parameters

  • hModule
    Handle to the module whose executable file contains the resource. In Windows Embedded CE, this cannot be set to NULL.
  • lpName
    Pointer to the name of the resource. For more information, see the Remarks section.
  • lpType
    Pointer to the resource type. For more information, see the Remarks section. For standard resource types, this parameter can be one of the following values.

    Value Description

    RT_ACCELERATOR

    Accelerator table

    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

Return Value

A handle to the specified resource's info block indicates success. To obtain a handle to the resource, pass this handle to the LoadResource function. NULL indicates failure. To get extended error information, call GetLastError.

Remarks

If the high-order word of the lpName or lpType parameter is zero, the low-order word specifies the integer identifier of the name or type of the given resource. Otherwise, those parameters are long 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.

The lpName parameter does not support the resource ID zero — that is, FindResource(h, 0 ,t) will not work as expected.

An application should reduce the amount of memory required for the resources by referring to them by integer identifier instead of by name.

When you are finished using an accelerator table, bitmap, cursor, icon, or menu, you can release its associated memory by calling one of the functions in the following table.

Resource Release function

Accelerator table

DestroyAcceleratorTable

Bitmap

DeleteObject

Cursor

DestroyCursor

Icon

DestroyIcon

Menu

DestroyMenu

The system automatically deletes these resources when the process that created them terminates, however, calling the appropriate function saves memory and decreases the size of the process's working set.

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 LoadLibrary.

To use a resource immediately, an application should use one of the following resource-specific functions to find and load the resources in one call.

Function Description

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.

String resources are stored in sections of up to 16 strings per section. The strings in each section are stored as a sequence of counted (not null-terminated) Unicode strings. The LoadString function will extract the string resource from its corresponding section.

Requirements

Header winbase.h
Library coredll.lib, Nk.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

DeleteObject
DestroyAcceleratorTable
DestroyCursor
DestroyIcon
DestroyMenu
LoadAccelerators
LoadBitmap
LoadIcon
LoadMenu
LoadResource

Other Resources

LoadString