次の方法で共有


FindExecutableW 関数 (shellapi.h)

特定のドキュメント ファイルに関連付けられている実行可能ファイル (.exe) ファイルの名前とハンドルを取得します。

構文

HINSTANCE FindExecutableW(
  [in]           LPCWSTR lpFile,
  [in, optional] LPCWSTR lpDirectory,
  [out]          LPWSTR  lpResult
);

パラメーター

[in] lpFile

型: LPCTSTR

ファイル名を指定する -terminated 文字列null のアドレス。 このファイルはドキュメントである必要があります。

[in, optional] lpDirectory

型: LPCTSTR

既定のディレクトリを指定する -terminated 文字列null のアドレス。 この値は NULLできます。

[out] lpResult

型: LPTSTR

関連付けられている実行可能ファイルのファイル名を受け取るバッファーのアドレス。 このファイル名は、lpFile パラメーターで指定されたファイルに対して "open" by association が実行されたときに開始される実行可能ファイルを指定する、null終了文字列です。 簡単に言うと、これは、ドキュメント ファイルが直接ダブルクリックされたとき、またはファイルのショートカット メニューから [ を開く] 選択されたときに起動されるアプリケーションです。 このパラメーターには、有効な非null 値が含まれている必要があり、長さがMAX_PATHであると見なされます。 値を検証する責任はプログラマに任されます。

戻り値

型: HINSTANCE

成功した場合は 32 より大きい値、またはエラーを表す 32 以下の値を返します。

次の表に、考えられるエラー値を示します。

戻りコード/値 形容
SE_ERR_FNF
2
指定したファイルが見つかりませんでした。
SE_ERR_PNF
3
指定されたパスが無効です。
SE_ERR_ACCESSDENIED
5
指定したファイルにアクセスできません。
SE_ERR_OOM
8
システムのメモリまたはリソースが不足しています。
SE_ERR_NOASSOC
31
指定したファイルの種類と実行可能ファイルの関連付けはありません。

備考

ドキュメント FindExecutable を使用します。 実行可能ファイルのパスを取得する場合は、次のコマンドを使用します。

AssocQueryString(ASSOCF_OPEN_BYEXENAME,
                 ASSOCSTR_EXECUTABLE,
                 pszExecutableName,
                 NULL,
                 pszPath,
                 pcchOut);

ここで、pszExecutableName は、実行可能ファイルの名前を指定する null-terminated 文字列へのポインターです。 pszPath は、実行可能ファイルへのパスを受け取る null-terminated 文字列バッファーへのポインターであり、pcchOut は、pszPath バッファー内の文字数を指定する DWORD へのポインターです。 関数が戻ると、pcchOut は、バッファーに実際に配置された文字数に設定されます。 詳細については、「AssocQueryString」を参照してください。

FindExecutable 戻るときに、サーバーが DDE クライアント アプリケーションとの DDE 会話を開始する要求に応答しない場合、lpResult パラメーターには、開始された動的データ交換 (DDE) サーバーへのパスを含めることができます。

手記

shellapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして FindExecutable を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー shellapi.h
ライブラリ Shell32.lib
DLL Shell32.dll

関連項目

ShellExecute