新しいプロセスを起動します。フォルダをエクスプローラで開いたり、ドキュメントファイルを関連付けられたアプリケーションで開いたりすることもできます。
BOOL ShellExecuteExA( LPSHELLEXECUTEINFO pExecInfo // SHELLEXECUTEINFO構造体 );
SHELL32.DLL
実行されるアプリケーションについての情報を格納した 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 以降