ShellExecuteEx(A)

新しいプロセスを起動します。フォルダをエクスプローラで開いたり、ドキュメントファイルを関連付けられたアプリケーションで開いたりすることもできます。

BOOL ShellExecuteExA(
    LPSHELLEXECUTEINFO pExecInfo  // SHELLEXECUTEINFO構造体
);

SHELL32.DLL

引数

pExecInfo

実行されるアプリケーションについての情報を格納した SHELLEXECUTEINFO 構造体のアドレスを指定します。

戻り値

成功すると 0 以外の値が返ります。

失敗すると 0 が返ります。拡張エラー情報を取得するには、 GetLastError 関数を使います。

解説

関数の呼び出しが成功すると、 SHELLEXECUTEINFO 構造体の hInstApp メンバは実行されたアプリケーションのインスタンスハンドルになります。関数が失敗した場合は 32 以下の SE_ERR_ エラー値になります。このエラー値は ShellExecute 関数と互換のものです。 ShellExecuteEx 関数でエラー値を得るためには GetLastError 関数を使うようにしてください。

GetLastError 関数は以下のいずれかの値を返します。これらの値は SE_ERR_ 値に対応しています。

意味
2 (ERROR_FILE_NOT_FOUND)

指定されたファイルが見つかりません。

3 (ERROR_PATH_NOT_FOUND)

指定されたパスが見つかりません。

5 (ERROR_ACCESS_DENIED)

指定されたファイルへのアクセスは拒否されました。

8 (ERROR_NOT_ENOUGH_MEMORY)

メモリが不足しているため実行できません。

32 (ERROR_SHARING_VIOLATION)

共有違反が発生しました。

1155 (ERROR_NO_ASSOCIATION)

与えられたファイル名の拡張子と関連付けられたアプリケーションがありません。

1156 (ERROR_DDE_FAIL)

DDE トランザクションが失敗しました。

1157 (ERROR_DLL_NOT_FOUND)

アプリケーションの実行に必要な DLL の1つが見つかりません。

1223 (ERROR_CANCELLED)

関数はユーザーに追加情報を促しましたが、ユーザーが要求をキャンセルしました。

対応情報

Shell32.dll Version 4.00 以降

Windows 95 以降 / Windows NT 4.0 以降