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