FindResourceExA 関数 (winbase.h)
指定したモジュール内の指定した型、名前、言語を使用して、リソースの場所を決定します。
構文
HRSRC FindResourceExA(
[in, optional] HMODULE hModule,
[in] LPCSTR lpType,
[in] LPCSTR lpName,
[in] WORD wLanguage
);
パラメーター
[in, optional] hModule
種類: HMODULE
移植可能な実行可能ファイルまたは付随する MUI ファイルにリソースが含まれているモジュールのハンドル。 このパラメーターが NULL の場合、関数は現在のプロセスの作成に使用されるモジュールを検索します。
[in] lpType
種類: LPCTSTR
リソースの種類。 または、ポインターではなく、このパラメーターに MAKEINTRESOURCE(ID) を指定できます。ここで、ID は指定された の整数識別子です。
リソースの種類。 標準リソースの種類については、「 リソースの種類」を参照してください。 詳細については、以下の「解説」セクションを参照してください。
[in] lpName
種類: LPCTSTR
リソースの名前。 または、ポインターではなく、このパラメーターに MAKEINTRESOURCE(ID) を指定できます。ここで、ID はリソースの整数識別子です。 詳細については、以下の「解説」セクションを参照してください。
[in] wLanguage
種類: WORD
リソースの言語。 このパラメーターが の場合は MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL)
、呼び出し元のスレッドに関連付けられている現在の言語が使用されます。
現在の言語以外の言語を指定するには、 MAKELANGID マクロを使用してこのパラメーターを作成します。 詳細については、「 MAKELANGID」を参照してください。
戻り値
種類: HRSRC
関数が成功した場合、戻り値は指定されたリソースの情報ブロックへのハンドルです。 リソースへのハンドルを取得するには、このハンドルを LoadResource 関数に渡します。
関数が失敗した場合は、返される値は NULL です。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
x = lpType または lpName の場合、IS_INTRESOURCEが TRUE の場合、x は、指定されたリソースの型または名前の整数識別子を指定します。 それ以外の場合、これらのパラメーターは null で終わる文字列への長いポインターです。 文字列の最初の文字がシャープ記号 (#) の場合、残りの文字は、リソースの名前または型の整数識別子を指定する 10 進数を表します。 たとえば、文字列 "#258" は整数識別子 258 を表します。
リソースに必要なメモリの量を減らすために、アプリケーションは名前ではなく整数識別子で参照する必要があります。
アプリケーションは FindResourceEx を使用して任意の種類のリソースを検索できますが、この関数は、アプリケーションが LoadResource に対して後続の呼び出しを行い、 LockResource を呼び出すことによってバイナリ リソース データにアクセスする必要がある場合にのみ使用する必要があります。
リソースをすぐに使用するには、アプリケーションで次のいずれかのリソース固有の関数を使用してリソースを検索し、データをより使いやすい形式に変換する必要があります。
機能 | アクション |
---|---|
FormatMessage | メッセージ テーブル エントリを読み込んで書式設定します。 |
LoadAccelerators | アクセラレータ テーブルを読み込みます。 |
LoadBitmap | ビットマップ リソースを読み込みます。 |
LoadCursor | カーソル リソースを読み込みます。 |
LoadIcon | アイコン リソースを読み込みます。 |
LoadMenu | メニュー リソースを読み込みます。 |
LoadString | 文字列テーブル エントリを読み込みます。 |
たとえば、アプリケーションで LoadIcon 関数を使用して、画面に表示するアイコンを読み込むことができます。 ただし、アイコンを読み込んでデータを別のアプリケーションにコピーする場合は、アプリケーションで FindResourceEx と LoadResource を使用する必要があります。
文字列リソースは、セクションごとに最大 16 個の文字列のセクションに格納されます。 各セクションの文字列は、カウントされた (必ずしも null で終わるとは限らない) Unicode 文字列のシーケンスとして格納されます。 LoadString 関数は、対応するセクションから文字列リソースを抽出します。
例
例については、「 リソース リストの作成」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winbase.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |
関連項目
概念
その他のリソース
リファレンス